本文主要介绍如何在本地主机部署 SequoiaDB 巨杉数据库的集群模式,采用三副本机制。集群模式是 SequoiaDB 巨杉数据库部署的标准模式,具有高可用、容灾、数据分区等能力。
在部署集群模式之前,需要先在本地每一台主机安装 SequoiaDB 巨杉数据库软件。然后,通过 SequoiaDB Shell 命令行来将各台主机串联起来,构建成一个集群。
下面介绍如何通过命令行安装的方式将 SequoiaDB 巨杉数据库安装到本地主机。
请到 SequoiaDB 巨杉数据库的官方网站下载相应版本的安装包。
下载地址:SequoiaDB 巨杉数据库
下述安装过程,使用名称为 sequoiadb-3.0.1-linux_x86_64-installer.tar.gz 的 SequoiaDB 巨杉数据库产品包为示例。每台主机重复下述步骤安装 SequoiaDB 巨杉数据库到本地。
Note:
参照操作系统设置调整 Linux 系统的环境配置
解压 SequoiaDB 巨杉数据库产品包,并为解压得到的 sequoiadb-3.0.1-linux_x86_64-installer.run 安装包赋可执行权限
# tar -zxvf sequoiadb-3.0.1-linux_x86_64-installer.tar.gz# chmod u+x sequoiadb-3.0.1-linux_x86_64-installer.run
使用 root 用户,执行 sequoiadb-3.0.1-linux_x86_64-installer.run 包
# ./sequoiadb-3.0.1-linux_x86_64-installer.run --mode text --SMS false
提示选择向导语言,可根据需要输入 1 选择英文,或者输入 2 选择中文
Language SelectionPlease 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 --versionSequoiaDB shell version: 3.0.1Release: 371262018-10-14-13.15.29
SequoiaDB 巨杉数据库安装成功。
下面介绍如何通过 SequoiaDB Shell 进行集群模式的部署。
在集群环境下,SequoiaDB 巨杉数据库需要三种角色的节点,分别为:数据节点、编目节点和协调节点
集群模式的最小配置中,每种角色的节点都至少启动一个,才能构成完整的集群模式
集群模式中客户端或应用程序只需连接协调节点,协调节点会对接收到的请求解析,自动将请求发送到数据节点进行处理
部署集群模式主要分为五步:
创建临时协调节点
创建编目节点组和节点
创建数据节点组和节点
创建协调节点组和节点
删除临时协调节点
下述操作步骤假设 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 进行数据操作了。
MySQL 是一款开源的关系型数据库管理系统,也是目前最流行的关系型数据库管理系统之一,支持标准的 SQL 语言。SequoiaDB 支持创建MySQL实例,完全兼容MySQL语法和协议,用户可以使用SQL语句访问 SequoiaDB 数据库,完成对数据的增、删、查、改操作以及其他MySQL语法操作。
下面介绍如何通过命令行安装的方式将 MySQL 实例组件安装到本地主机。
使用 root 用户权限来安装 MySQL实例组件
检查 MySQL 实例组件产品软件包是否与 SequoiaDB 版本一致
如果需要图形界面模式安装,请确保 X Server 服务正在运行
说明:
(1)产品包名字以 sequoiasql-mysql-3.2-linux_x86_64-enterprise-installer.run 为例。
(2)安装过程中若输入有误,可按ctrl+退格键进行删除。
(3)步骤以命令行方式进行介绍,图形界面按照图像向导提示完成。
解压 MySQL 实例组件,并为解压得到的 sequoiasql-mysql-3.0.1-linux_x86_64-installer.run 安装包赋可执行权限
# tar -zxvf sequoiasql-mysql-3.0.1-linux_x86_64-installer.tar.gz# chmod a+x sequoiasql-mysql-3.0.1-linux_x86_64-installer.run
使用 root 用户,执行 sequoiasql-mysql-3.0.1-linux_x86_64-installer.run 包
# ./sequoiasql-mysql-3.0.1-linux_x86_64-installer.run --mode text
提示选择向导语言,可根据需要输入 1 选择英文,或者输入 2 选择中文
Language SelectionPlease 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 表示不添加,默认为添加
----------------------------------------------------------------------------是否添加默认实例?添加默认实例。 [Y/n]:
提示配置默认实力的端口号,输入完毕按回车。若没有输入直接回车,将使用默认端口号(3306)
----------------------------------------------------------------------------设置实例端口号实例端口号 [3306]:
指定 MySQL 实例组件安装路径,输入完毕后按回车。若没有输入直接回车,将使用默认的安装路径(/opt/sequoiasql/mysql/data3306)
----------------------------------------------------------------------------设置实例数据目录实例数据目录 [/opt/sequoiasql/mysql/data3306]:
询问是否继续安装,Y 表示继续,n 表示不继续。默认为继续
设定现在已经准备将 SequoiaSQL MySQL Server 安装到您的电脑.您确定要继续? [Y/n]:
当屏幕上显示以下信息,表示 MySQL 实例组件已经安装完成
正在安装 SequoiaSQL MySQL Server 于您的电脑中,请稍候.安装中0% ______________ 50% ______________ 100%#########################################----------------------------------------------------------------------------安装程序已经完成安装 SequoiaSQL MySQL Server 于你的电脑中.
切换 sdbadmin 用户,检查实例状态
$ /opt/sequoiasql/mysql/bin/sdb_mysql_ctl status 3306mysqld3306 is running
Note:
停止 MySQL 实例组件的命令:/opt/sequoiasql/mysql/bin/sdb_mysql_ctl stop 3306
启动 MySQL 实例组件的命令:/opt/sequoiasql/mysql/bin/sdb_mysql_ctl start 3306
MySQL 实例组件安装成功,现在可以来连接 MySQL Shell 进行数据操作了。