集群模式部署
本章主要介绍如何在本地主机采用三副本机制部署 SequoiaDB 巨杉数据库的集群模式。集群模式是 SequoiaDB 巨杉数据库部署的标准模式,具有高可用、容灾、数据分区等能力。
部署集群模式分为四步,其中数据库安装与部署为必选,SQL 引擎安装和部署为可选:
安装数据库
在部署集群模式之前,用户需要先在本地每一台主机安装 SequoiaDB 巨杉数据库软件。然后通过 SequoiaDB Shell 命令行来将各台主机串联起来,构建成一个集群。
下面介绍如何通过命令行安装的方式将 SequoiaDB 巨杉数据库安装到本地主机。
下载 SequoiaDB 安装包
用户可前往 SequoiaDB 巨杉数据库的官方网站下载相应版本的安装包。
下载地址:SequoiaDB 巨杉数据库
安装 SequoiaDB 巨杉数据库步骤
下述安装过程,使用名称为 sequoiadb-5.0-linux_x86_64-installer.tar.gz 的 SequoiaDB 巨杉数据库产品包为示例。每台主机重复下述步骤安装 SequoiaDB 巨杉数据库到本地。
Note:
用户可以参照操作系统设置调整 Linux 系统的环境配置。
以 root 用户登陆目标主机,解压 SequoiaDB 巨杉数据库产品包,并为解压得到的
sequoiadb-5.0-linux_x86_64-installer.run
安装包赋可执行权限:# tar -zxvf sequoiadb-5.0-linux_x86_64-installer.tar.gz
# chmod u+x sequoiadb-5.0-linux_x86_64-installer.run
使用 root 用户运行
sequoiadb-5.0-linux_x86_64-installer.run
包:# ./sequoiadb-5.0-linux_x86_64-installer.run --mode text --SMS false
提示选择向导语言,可根据需要输入 1 选择英文,或者输入 2 选择中文。
Language Selection
Please select the installation language
[1] English - English
[2] Simplified Chinese - 简体中文
Please choose an option [1] :2
显示安装协议,输入 1 表示忽略阅读并同意协议,输入 2 表示读取完整协议内容。
------------------------------------------------------------
由 BitRockInstallBuilder 评估本所建立
------------------------------------------------------------
欢迎来到 SequoiaDB Server 安装程序
重要信息:请仔细阅读
下面提供了两个许可协议。
1. SequoiaDB 评估程序的最终用户许可协议
2. SequoiaDB 最终用户许可协议
如果被许可方为了生产性使用目的(而不是为了评估、测试、试用“先试后买”或演示)获得本程序,单击下面的“接受”按钮即表示被许可方接受 SequoiaDB 最终用户许可协议,且不作任何修改。
如果被许可方为了评估、测试、试用“先试后买”或演示(统称为“评估”)目的获得本程序:单击下面的“接受”按钮即表示被许可方同时接受(i)SequoiaDB 评估程序的最终用户许可协议(“评估许可”),且不作任何修改;和(ii)SequoiaDB 最终用户程序许可协议(SELA),且不作任何修改。
在被许可方的评估期间将适用“评估许可”。
如果被许可方通过签署采购协议在评估之后选择保留本程序(或者获得附加的本程序副本供评估之后使用),SequoiaDB 评估程序的最终用户许可协议将自动适用。
“评估许可”和 SequoiaDB 最终用户许可协议不能同时有效;两者之间不能互相修改,并且彼此独立。
这两个许可协议中每个协议的完整文本如下。
评估程序的最终用户许可协议
[1] 同意以上协议: 了解更多的协议内容,可以在安装后查看协议文件
[2] 查看详细的协议内容
请选择选项 [1] :
指定 SequoiaDB 安装路径,输入完毕后按回车。若没有输入直接回车,将使用默认的安装路径(/opt/sequoiadb)。
------------------------------------------------------------
请指定 SequoiaDB Server 将会被安装到的目录
安装目录 [/opt/sequoiadb]:
询问是否强制安装,y 表示强制安装,安装时发现有相关进程存在则会尝试停止进程,N 表示非强制安装,安装时发现有相关进程存在,就会报错退出。默认为非强制安装:
------------------------------------------------------------
是否强制安装?强制安装时可能会强杀残留进程
是否强制安装 [y/N]:
提示配置 Linux 用户名和用户组,输入完毕后按回车。若没有输入直接回车,将会创建默认的用户名(sdbadmin)和用户组(sdbadmin_group)。该用户名用于运行 SequoiaDB 服务:
------------------------------------------------------------
数据库管理用户配置
配置用于启动 SequoiaDB 的用户名、用户组和密码
用户名 [sdbadmin]:
用户组 [sdbadmin_group]:
提示配置刚才创建的 Linux 用户的密码,输入完毕后按回车。若没有输入直接回车,将会使用默认密码(sdbadmin):
密码 [********] :
确认密码 [********] :
提示配置服务端口,输入完毕后按回车。若没有输入直接回车,将使用默认的服务端口号(11790):
------------------------------------------------------------
集群管理服务端口配置
配置 SequoiaDB 集群管理服务端口,集群管理用于远程启动添加和启停数据库节点
端口 [11790]:
询问是否允许 SequoiaDB 巨杉数据库相关进程开机自启动,Y 表示允许,n 表示不允许。默认为允许:
------------------------------------------------------------
是否允许 SequoiaDB 相关进程开机自启动
Sequoiadb相关进程开机自启动 [Y/n]:
询问是否继续安装,Y 表示继续,n 表示不继续。默认为继续:
------------------------------------------------------------
设定现在已经准备将 SequoiaDB Server 安装到您的电脑.
您确定要继续? [Y/n]:
当屏幕上显示以下信息,表示 SequoiaDB 已经安装完成。
正在安装 SequoiaDB Server 于您的电脑中,请稍候。
安装中
0% ______________ 50% ______________ 100%
#########################################
------------------------------------------------------------
安装程序已经完成安装 SequoiaDB Server 于你的电脑中.
切换到 sdbadmin 用户,进行安装检查。使用如下命令如能正常查到 SequoiaDB 的版本信息,说明 SequoiaDB 安装成功。
$ sequoiadb --version
SequoiaDB version: 5.0
Release: 40774
2019-12-31-00.55.13
安装SQL引擎
SequoiaSQL 是 SequoiaDB 的 一种 SQL 引擎,SequoiaSQL-MySQL 以存储引擎的方式与 MySQL 对接,使得用户可以通过 MySQL 的 SQL 接口访问 SequoiaDB 中的数据,并进行增、删、改、查等操作。
下面介绍如何通过命令行安装的方式将 SequoiaSQL-MySQL 安装到本地主机。
下载 SequoiaSQL-MySQL 安装包
用户可前往 SequoiaDB 巨杉数据库官方网站下载相应版本的 SequoiaSQL-MySQL 安装包。
下载地址:SequoiaSQL-MySQL 数据库
安装SequoiaSQL-MySQL数据库步骤
下述安装过程,使用名称为 sequoiasql-mysql-5.0-linux_x86_64-installer.tar.gz 的 SequoiaSQL-MySQL 产品包为示例。
Note:
- 使用 root 用户进行 SequoiaSQL-MySQL 数据库安装
- 确保 SequoiaSQL-MySQL 产品安装包与 SequoiaDB 巨杉数据库版本一致
- SequoiaSQL-MySQL 只需要安装在一台主机上就可以对接整个 SequoiaDB 巨杉数据库集群
下述安装过程,使用名称为 sequoiasql-mysql-5.0-linux_x86_64-installer.tar.gz
的 MySQL 实例组件产品包为示例。
Note:
- 使用 root 用户权限来安装 MySQL实例组件
- 检查 MySQL 实例组件产品软件包是否与 SequoiaDB 版本一致
以root 用户登陆目标主机,解压 MySQL 实例组件产品包,并为解压得到的
sequoiasql-mysql-5.0-linux_x86_64-installer.run
安装包赋可执行权限:# tar -zxvf sequoiasql-mysql-5.0-linux_x86_64-installer.tar.gz
# chmod a+x sequoiasql-mysql-5.0-linux_x86_64-installer.run
使用 root 用户执行
sequoiasql-mysql-5.0-linux_x86_64-installer.run
包:# ./sequoiasql-mysql-5.0-linux_x86_64-installer.run --mode text
提示选择向导语言,可根据需要输入 1 选择英文,或者输入 2 选择中文。
Language Selection
Please select the installation language
[1] English - English
[2] Simplified Chinese - 简体中文
Please choose an option [1] : 2
显示安装协议,输入 1 表示忽略阅读并同意协议,输入 2 表示读取完整协议内容。
由BitRock InstallBuilder评估本所建立
欢迎来到 SequoiaSQL MySQL Server 安装程序
----------------------------------------------------------------------------
GNU 通用公共授权
第二版, 1991年6月
著作权所有 (C) 1989,1991 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA.
允许每个人复制和发布本授权文件的完整副本,但不允许对它进行任何修改。
[1] 同意以上协议: 了解更多的协议内容,可以在安装后查看协议文件
[2] 查看详细的协议内容
请选择一个选项 [1] : 1
指定安装路径,输入完毕后按回车。若没有输入直接回车,将使用默认的安装路径(/opt/sequoiasql/mysql):
请指定 SequoiaSQL MySQL Server 将会被安装到的目录
安装目录 [/opt/sequoiasql/mysql]:
提示配置 Linux 用户名和用户组,输入完毕后按回车。若没有输入直接回车,将会创建默认的用户名(sdbadmin)和用户组(sdbadmin_group)。该用户名用于运行 MySQL 实例服务:
数据库管理用户配置
配置用于启动SequoiaSQL-MySql的用户名、用户组和密码
用户名 [sdbadmin]:
用户组 [sdbadmin_group]:
提示配置刚才创建的 Linux 用户的密码,输入完毕后按回车。若没有输入直接回车,将会使用默认密码(sdbadmin):
密码 [********] :
确认密码 [********] :
询问是否继续安装,Y 表示继续,n 表示不继续。默认为继续:
设定现在已经准备将 SequoiaSQL MySQL Server 安装到您的电脑.
您确定要继续? [Y/n]:
当屏幕上显示以下信息,表示 MySQL 实例已经安装完成。
正在安装 SequoiaSQL MySQL Server 于您的电脑中,请稍候.
安装中
0% ______________ 50% ______________ 100%
#########################################
----------------------------------------------------------------------------
安装程序已经完成安装 SequoiaSQL MySQL Server 于你的电脑中.
部署集群模式
下面介绍如何通过 SequoiaDB Shell 进行集群模式的部署。
集群模式说明
集群模式的最小配置中,每种角色的节点都至少启动一个,才能构成完整的集群模式
集群模式中客户端或应用程序只需连接协调节点,协调节点会对接收到的请求解析,自动将请求发送到数据节点进行处理
部署步骤
部署集群模式主要分为五步:
- 创建临时协调节点
- 创建编目节点组和节点
- 创建数据节点组和节点
- 创建协调节点组和节点
- 删除临时协调节点
下述操作步骤假设 SequoiaDB 巨杉数据库程序安装在 /opt/sequoiadb
目录下。
Note:
- SequoiaDB 巨杉数据库服务进程全部以 sdbadmin 用户运行,请确保数据库目录都赋予 sdbadmin 读写权限
- 编目节点是一种逻辑节点,用于保存数据库的元数据信息,所以在部署时首先需要创建的是编目节点
- 以下操作只须选择任意一台数据库服务器执行即可
一、 创建临时协调节点
切换到 sdbadmin 用户:
$ su - sdbadmin
启动 SequoiaDB Shell 控制台:
$ /opt/sequoiadb/bin/sdb
连接本地集群管理服务进程 sdbcm:
> var oma = new Oma("localhost", 11790)
创建临时协调节点:
> oma.createCoord(18800, "/opt/sequoiadb/database/coord/18800")
启动临时协调节点:
> oma.startNode(18800)
二、 创建编目节点组和节点
连接临时协调节点:
> var db = new Sdb("localhost",18800)
创建编目节点组:
> db.createCataRG("sdbserver1", 11800, "/opt/sequoiadb/database/cata/11800")
创建编目节点:
> var cataRG = db.getRG("SYSCatalogGroup")
> var node1 = cataRG.createNode("sdbserver2", 11800,"/opt/sequoiadb/database/cata/11800")
> var node2 = cataRG.createNode("sdbserver3", 11800,"/opt/sequoiadb/database/cata/11800")
启动编目节点:
> node1.start()
> node2.start()
三、 创建数据节点组和节点
创建数据节点组:
> var dataRG = db.createRG("datagroup")
创建数据节点:
> dataRG.createNode("sdbserver1", 11820, "/opt/sequoiadb/database/data/11820")
> dataRG.createNode("sdbserver2", 11820, "/opt/sequoiadb/database/data/11820")
> dataRG.createNode("sdbserver3", 11820, "/opt/sequoiadb/database/data/11820")
启动数据节点组:
> dataRG.start()
四、 创建协调节点组和节点
创建协调节点组:
> var coordRG = db.createCoordRG()
创建协调节点:
> coordRG.createNode("sdbserver1", 11810, "/opt/sequoiadb/database/coord/11810")
> coordRG.createNode("sdbserver2", 11810, "/opt/sequoiadb/database/coord/11810")
> coordRG.createNode("sdbserver3", 11810, "/opt/sequoiadb/database/coord/11810")
启动协调节点组:
> coordRG.start()
五、 删除临时协调节点
连接本地集群管理服务进程 sdbcm:
> var oma = new Oma("localhost", 11790)
删除临时协调节点:
> oma.removeCoord(18800)
SequoiaDB 巨杉数据库的集群模式已经部署完成,现在可以连接 SequoiaDB Shell 进行数据操作了。
部署SQL实例
数据库实例是位于用户和操作系统之间的数据管理软件,用户对数据库的操作都是在数据库实例下进行的,下面介绍 SequoiaDB-MySQL 的实例部署。
切换到 sdbadmin 用户:
$ su - sdbadmin
检查 3306 端口是否被占用:
$ netstat -anp | grep 3306
添加 SequoiaDB-MySQL 实例 myinst:
$ /opt/sequoiasql/mysql/bin/sdb_sql_ctl addinst myinst -D /opt/sequoiasql/mysqldatabase/3306/ -p 3306
启动 myinst 实例:
$ /opt/sequoiasql/mysql/bin/sdb_sql_ctl start myinst
查看 myinst 实例状态:
$ /opt/sequoiasql/mysql/bin/sdb_sql_ctl status myinst
Note:
- 添加实例完成后实例会自行启动,无需执行启动命令
- 停止 MySQL 实例的命令:/opt/sequoiasql/mysql/bin/sdb_mysql_ctl stop myinst
MySQL 数据库实例部署成功,用户可以来连接 MySQL Shell 进行数据操作。