博客 > SequoiaDB 集群搭建快速入门

SequoiaDB 集群搭建快速入门

 2019-04-11  SequoiaDB,技术教程

本文主要介绍如何在本地主机部署 SequoiaDB 巨杉数据库的集群模式,采用三副本机制。集群模式是 SequoiaDB 巨杉数据库部署的标准模式,具有高可用、容灾、数据分区等能力。


安装数据库

在部署集群模式之前,需要先在本地每一台主机安装 SequoiaDB 巨杉数据库软件。然后,通过 SequoiaDB Shell 命令行来将各台主机串联起来,构建成一个集群。

下面介绍如何通过命令行安装的方式将 SequoiaDB 巨杉数据库安装到本地主机。

下载 SequoiaDB 安装包

请到 SequoiaDB 巨杉数据库的官方网站下载相应版本的安装包。

下载地址:SequoiaDB 巨杉数据库

安装 SequoiaDB 巨杉数据库步骤

下述安装过程,使用名称为 sequoiadb-3.0.1-linux_x86_64-installer.tar.gz 的 SequoiaDB 巨杉数据库产品包为示例。每台主机重复下述步骤安装  SequoiaDB 巨杉数据库到本地。

Note:

  • 使用 root 用户进行 SequoiaDB 数据库安装

  • 确保本地主机满足硬件和软件要求(可参考软硬件配置要求

  • 请确保所有主机都设置了主机名/IP地址映射关系

  • 请确保所有主机两两之间可通过主机名建立网络连接

  • 参看操作系统设置中关于 NUMA 的说明,建议关闭 NUMA 或者使用“numactl --interleave=all”启动数据库服务

  1. 参照操作系统设置调整 Linux 系统的环境配置

  2. 解压 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
  3. 使用 root 用户,执行 sequoiadb-3.0.1-linux_x86_64-installer.run 包

    # ./sequoiadb-3.0.1-linux_x86_64-installer.run --mode text --SMS false
  4. 提示选择向导语言,可根据需要输入 1 选择英文,或者输入 2 选择中文

    Language SelectionPlease select the installation language[1] English - English[2] Simplified Chinese - 简体中文Please choose an option [1] :2
  5. 显示安装协议,输入 1 表示忽略阅读并同意协议,输入 2 表示读取完整协议内容

    ------------------------------------------------------------由 BitRockInstallBuilder 评估本所建立------------------------------------------------------------欢迎来到 SequoiaDB Server 安装程序重要信息:请仔细阅读下面提供了两个许可协议。1. SequoiaDB 评估程序的最终用户许可协议2. SequoiaDB 最终用户许可协议如果被许可方为了生产性使用目的(而不是为了评估、测试、试用“先试后买”或演示)获得本程序,单击下面的“接受”按钮即表示被许可方接受 SequoiaDB 最终用户许可协议,且不作任何修改。如果被许可方为了评估、测试、试用“先试后买”或演示(统称为“评估”)目的获得本程序:单击下面的“接受”按钮即表示被许可方同时接受(i)SequoiaDB 评估程序的最终用户许可协议(“评估许可”),且不作任何修改;和(ii)SequoiaDB 最终用户程序许可协议(SELA),且不作任何修改。在被许可方的评估期间将适用“评估许可”。如果被许可方通过签署采购协议在评估之后选择保留本程序(或者获得附加的本程序副本供评估之后使用),SequoiaDB 评估程序的最终用户许可协议将自动适用。“评估许可”和 SequoiaDB 最终用户许可协议不能同时有效;两者之间不能互相修改,并且彼此独立。这两个许可协议中每个协议的完整文本如下。评估程序的最终用户许可协议[1] 同意以上协议: 了解更多的协议内容,可以在安装后查看协议文件[2] 查看详细的协议内容请选择选项 [1] :
  6. 指定 SequoiaDB 安装路径,输入完毕后按回车。若没有输入直接回车,将使用默认的安装路径(/opt/sequoiadb)

    ------------------------------------------------------------请指定 SequoiaDB Server 将会被安装到的目录安装目录 [/opt/sequoiadb]:
  7. 询问是否强制安装,y 表示强制安装,安装时发现有相关进程存在则会尝试停止进程,N 表示非强制安装,安装时发现有相关进程存在,就会报错退出。默认为非强制安装

    ------------------------------------------------------------是否强制安装?强制安装时可能会强杀残留进程是否强制安装 [y/N]:
  8. 提示配置 Linux 用户名和用户组,输入完毕后按回车。若没有输入直接回车,将会创建默认的用户名(sdbadmin)和用户组(sdbadmin_group)。该用户名用于运行 SequoiaDB 巨杉数据库服务

    ------------------------------------------------------------数据库管理用户配置配置用于启动 SequoiaDB 的用户名、用户组和密码用户名 [sdbadmin]:用户组 [sdbadmin_group]:
  9. 提示配置刚才创建的 Linux 用户的密码,输入完毕后按回车。若没有输入直接回车,将会使用默认密码(sdbadmin)

    密码 [********] :确认密码 [********] :
  10. 提示配置服务端口,输入完毕后按回车。若没有输入直接回车,将使用默认的服务端口号(11790)

    ------------------------------------------------------------集群管理服务端口配置配置 SequoiaDB 集群管理服务端口,集群管理用于远程启动添加和启停数据库节点端口 [11790]:
  11. 询问是否允许 SequoiaDB 巨杉数据库相关进程开机自启动,Y 表示允许,n 表示不允许。默认为允许

    ------------------------------------------------------------是否允许 SequoiaDB 相关进程开机自启动Sequoiadb相关进程开机自启动 [Y/n]:
  12. 询问是否继续安装,Y 表示继续,n 表示不继续。默认为继续

    ------------------------------------------------------------设定现在已经准备将 SequoiaDB Server 安装到您的电脑.您确定要继续? [Y/n]:
  13. 当屏幕上显示以下信息,表示 SequoiaDB 巨杉数据库已经安装完成

    正在安装 SequoiaDB Server 于您的电脑中,请稍候。安装中0% ______________ 50% ______________ 100%#########################################------------------------------------------------------------安装程序已经完成安装 SequoiaDB Server 于你的电脑中.
  14. 切换 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 读写权限

  • 编目节点是一种逻辑节点,用于保存数据库的元数据信息,所以在部署时首先需要创建的是编目节点

  • 以下操作只须选择任意一台数据库服务器执行即可

一、 创建临时协调节点

  1. 切换到 sdbadmin 用户

    $ su - sdbadmin
  2. 启动 SequoiaDB Shell 控制台

    $ /opt/sequoiadb/bin/sdb
  3. 连接本地集群管理服务进程 sdbcm

    > var oma = new Oma("localhost", 11790)
  4. 创建临时协调节点

    > oma.createCoord(18800, "/opt/sequoiadb/database/coord/18800")
  5. 启动临时协调节点

    > oma.startNode(18800)

二、 创建编目节点组和节点

  1. 连接临时协调节点

    > var db = new Sdb("localhost",18800)
  2. 创建编目节点组

    >  db.createCataRG("sdbserver1", 11800, "/opt/sequoiadb/database/cata/11800")
  3. 创建编目节点

    > 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")
  4. 启动编目节点

    > node1.start()> node2.start()

三、 创建数据节点组和节点

  1. 创建数据节点组

    > var dataRG = db.createRG("datagroup")
  2. 创建数据节点

    > 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")
  3. 启动数据节点组

    > dataRG.start()

四、 创建协调节点组和节点

  1. 创建协调节点组

    > var coordRG = db.createCoordRG()
  2. 创建协调节点

    > 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")
  3. 启动协调节点组

    > coordRG.start()

五、 删除临时协调节点

  1. 连接本地集群管理服务进程 sdbcm

    > var oma = new Oma("localhost", 11790)
  2. 删除临时协调节点

    > oma.removeCoord(18800)

SequoiaDB 巨杉数据库的集群模式已经部署完成,现在可以连接 SequoiaDB Shell 进行数据操作了。


安装 SequoiaDB 及 MySQL 实例组件

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)步骤以命令行方式进行介绍,图形界面按照图像向导提示完成。

安装步骤

  1. 解压 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
  2. 使用 root 用户,执行 sequoiasql-mysql-3.0.1-linux_x86_64-installer.run 包

    # ./sequoiasql-mysql-3.0.1-linux_x86_64-installer.run --mode text
  3. 提示选择向导语言,可根据需要输入 1 选择英文,或者输入 2 选择中文

    Language SelectionPlease select the installation language[1] English - English[2] Simplified Chinese - 简体中文Please choose an option [1] : 2
  4. 显示安装协议,输入 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
  5. 指定安装路径,输入完毕后按回车。若没有输入直接回车,将使用默认的安装路径(/opt/sequoiasql/mysql)

    请指定 SequoiaSQL MySQL Server 将会被安装到的目录安装目录 [/opt/sequoiasql/mysql]:
  6. 提示配置 Linux 用户名和用户组,输入完毕后按回车。若没有输入直接回车,将会创建默认的用户名(sdbadmin)和用户组(sdbadmin_group)。该用户名用于运行 MySQL 实例服务

    数据库管理用户配置配置用于启动SequoiaSQL-MySql的用户名、用户组和密码用户名 [sdbadmin]:用户组 [sdbadmin_group]:
  7. 提示配置刚才创建的 Linux 用户的密码,输入完毕后按回车。若没有输入直接回车,将会使用默认密码(sdbadmin)

    密码 [********] :确认密码 [********] :
  8. 询问是否添加默认实例,Y 表示添加,n 表示不添加,默认为添加

    ----------------------------------------------------------------------------是否添加默认实例?添加默认实例。 [Y/n]:
  9. 提示配置默认实力的端口号,输入完毕按回车。若没有输入直接回车,将使用默认端口号(3306)

    ----------------------------------------------------------------------------设置实例端口号实例端口号 [3306]:
  10. 指定 MySQL 实例组件安装路径,输入完毕后按回车。若没有输入直接回车,将使用默认的安装路径(/opt/sequoiasql/mysql/data3306)

    ----------------------------------------------------------------------------设置实例数据目录实例数据目录 [/opt/sequoiasql/mysql/data3306]:
  11. 询问是否继续安装,Y 表示继续,n 表示不继续。默认为继续

    设定现在已经准备将 SequoiaSQL MySQL Server 安装到您的电脑.您确定要继续? [Y/n]:
  12. 当屏幕上显示以下信息,表示 MySQL 实例组件已经安装完成

    正在安装 SequoiaSQL MySQL Server 于您的电脑中,请稍候.安装中0% ______________ 50% ______________ 100%#########################################----------------------------------------------------------------------------安装程序已经完成安装 SequoiaSQL MySQL Server 于你的电脑中.
  13. 切换 sdbadmin 用户,检查实例状态

  14. $ /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 进行数据操作了。



准备开始体验 SequoiaDB 巨杉数据库?