随着业务负载的不断加重,容器化、虚拟化也成为各类在线应用必须要具备的能力。对于分布式数据库,容器化也是提升快速部署、提高运维效率的一个很好的路径。

我们重新优化了 Docker部署的方式,帮助大家更快的上手SequoiaDB集群,本文就将介绍基于 Docker 的SequoiaDB分布式集群快速部署。

1.集群配置


我们将在六个容器中部署一个多节点,高度可用的 SequoiaDB 集群,如下所示:

(本文以 SequoiaDB v3.2.3 版本为例)

该集群包括一个协调器节点、一个目录节点、三个数据组,每个数据组有三个副本数据节点和一个 MySQL 实例节点。

2. 环境

​​​​​​​

OS :  Ubuntu 18

2.1 Docker安装

2.1.1 Docker

对于在不同平台上的 Docker 安装,用户可以参阅 Docker 安装指南。

 sudo apt-get install -y docker.io

2.1.2 Docker-compose

Docker compose是一个用于定义和部署在YAML文件中定义的多容器泊坞应用程序的工具(i.e: docker-compose.yaml)。​​​​​​​

sudo curl -L "https://github.com/docker/compose/releases/download/1.25.3/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

2.1.3 MySQL 客户端

安装 MySQL 客户端(如果尚未安装)

sudo apt install mysql-client-core-5.7

3. SequoiaDB分布式集群部署


定义 SequoiaDB 集群配置 "sequoiadb_containers/docker-compose.yaml",用户有两个选项可以下载所需的软件包。

选项1:克隆repo地址 

(点击文末【阅读原文】前往获取软件包)

选项2:手动下载(保留相同的目录结构)

(点击文末【阅读原文】前往获取软件包)

3.1 部署 SequoiaDB 集群

docker-compose up 命令将:

    - 如果没有在本地找到,可前往dockerhub下载镜像

    - 创建所需的容器

    - 启动容器

    - 初始化 SequoiaDB 集群和 MySQL 实例

1)部署集群​​​​​​​

cd sequoiadb_containers  (或者到docker-compose的目录。yaml文件下载)

2)检查集群的状态

$ sudo docker-compose ps

3)等待集群被部署和 MySQL 连接到协调器节点,用户可以按如下方式检查集群状态。​​​​​​​

# 检查 coordinator 日志

3.2 验证MySQL连接

$ mysql -h 127.0.0.1 -P 3310 -u root

Welcome to the MySQL monitor.  Commands end with ; or \g.

验证SequoiaDB配置:

mysql> show variables like 'sequoiadb%';

3.3 测试
       

用户可以使用 MySQL 命令创建数据库和表:

mysql> create database sample;

4. 集群管理


4.1 stop/start cluster

使用up命令创建 SequoiaDB 集群后,它可以停止并按如下方式启动。

Note:            

"stop"命令不会删除容器,因此不会丢失任何数据。             

4.1.1 stop 命令

$ sudo docker-compose stop

4.1.2 start 命令     ​​​​​​​

$ sudo docker-compose start

4.2 down/up Cluster
       

4.2.1 down命令

down 命令将停止并删除SequoiaDB集群部署的容器。

Note:            

down命令应该谨慎执行,因为当容器被破坏时无法回滚/恢复。            ​​​​​​​

$ sudo docker-compose down

4.2.2 up命令

up命令将创建并启动为sequoiadb cluser定义的服务(容器,网络)。​​​​​​​

$ sudo docker-compose up -d 

不知道您是否已经动手操作了呢?

SequoiaDB后续也将持续推出系列技术教程,帮助大家更快上手分布式数据库,同时更好的理解分布式数据库的原理,大家敬请期待!


SequoiaDB巨杉数据库
202 声望239 粉丝

SequoiaDB 巨杉数据库是一款金融级分布式关系型数据库。