快速部署工具

    SequoiaDB 集群支持部署在多台主机上,SequoiaSQL-MySQ/SequoiaSQL-PostgreSQL 仅支持部署在单台主机。

    运行 quickDeploy.sh 命令的用户必须是安装 SequoiaDB/SequoiaSQL-MySQL/SequoiaSQL-PostgreSQL 时指定的用户。

    语法规则

    • --help, -h

      返回帮助信息

    • --sdb

      部署 SequoiaDB

    • --mysql

      部署 SequoiaSQL-MySQL

    • --pg

      部署 SequoiaSQL-PostgreSQL

    • --cm <sdbcm port>

      指定 sdbcm 端口号,默认为11790。当 sdbcm 为非默认端口号时,要求所有安装了 SequoiaDB 的主机 sdbcm 端口必须一致

    • --mysqlPath <mysql installation path>

      quickDeploy.sh 只支持部署一个 SequoiaSQL-MySQL。当机器上装有多个 SequoiaSQL-MySQL 时,指定一个 SequoiaSQL-MySQL 的安装路径。

      需要配合 —mysql 使用

    • --pgPath <pg installation path>

      quickDeploy.sh 只支持部署一个 SequoiaSQL-PostgreSQL。当机器上装有多个 SequoiaSQL-PostgreSQL 时,指定一个 SequoiaSQL-PostgreSQL 的安装路径。

    默认部署

    • SequoiaDB

      SequoiaDB 默认部署一个协调节点、一个编目节点和三个数据组到本机上,数据组都为单副本。

      1. $ ./tools/deploy/quickDeploy.sh --sdb

      输出信息如下:

      1. Execute command: /opt/sequoiadb/./tools/deploy/../../bin/sdb -f /opt/sequoiadb/./tools/deploy/quickDeploy.js -e 'var sdb=true;'
      2. ************ Deploy SequoiaDB ************************
      3. Create catalog: ubuntu-200-091:11800
      4. Create coord: ubuntu-200-091:11810
      5. Create data: ubuntu-200-091:11820
      6. Create data: ubuntu-200-091:11830
      7. Create data: ubuntu-200-091:11840

      可以使用如下语句查看当前集群部署情况:

      1. $ ./bin/sdblist -l

      输出结果如下:

      1. Name SvcName Role PID GID NID PRY GroupName StartTime DBPath
      2. sequoiadb 11800 catalog 9180 1 1 Y SYSCatalogGroup 2019-05-13-10.43.43 /opt/sequoiadb/database/catalog/11800/
      3. sequoiadb 11810 coord 9571 2 2 Y SYSCoord 2019-05-13-10.43.52 /opt/sequoiadb/database/coord/11810/
      4. sequoiadb 11820 data 9646 1000 1000 Y group1 2019-05-13-10.43.53 /opt/sequoiadb/database/data/11820/
      5. sequoiadb 11830 data 9833 1001 1001 Y group2 2019-05-13-10.43.57 /opt/sequoiadb/database/data/11830/
      6. sequoiadb 11840 data 10061 1002 1002 Y group3 2019-05-13-10.44.03 /opt/sequoiadb/database/data/11840/
    • SequoiaSQL-MySQL

      SequoiaSQL-MySQL 默认部署 myinst 实例,并连接到 tools/deploy/sequoiadb.conf 中的第一个协调节点。

      1. $ ./quickDeploy.sh --mysql

      输出信息如下:

      1. Execute command: /opt/sequoiadb_yt/tools/deploy/./../../bin/sdb -f /opt/sequoiadb_yt/tools/deploy/./quickDeploy.js -e 'var mysql=true;'
      2. ************ Deploy SequoiaSQL-MySQL *****************
      3. Create instance: [name: myinst, port: 3306]
    • SequoiaSQL-PostgreSQL

      SequoiaSQL-PostgreSQL 默认部署 myinst 实例,并连接到 tools/deploy/sequoiadb.conf 中的第一个协调节点。

      输出信息如下:

      1. ************ Deploy SequoiaSQL-PostgreSQL ************
      2. Create instance: [name: myinst, port: 5432]

    以部署三机三组三节点的 SequoiaDB 集群为例:

    • 部署到三台机器上,主机名分别为 sdbserver1/sdbserver2/sdbserver3,请确保这三台主机都安装了 SequoiaDB
    • 一个协调节点组,每台机器上有一个协调节点
    • 一个编目节点组,每台机器上有一个编目节点
    • 三个数据节点组,组名分别为 group1/group2/group3,每个数据组有三个数据节点
    • 节点数据目录为安装路径下的 database 目录
    1. 修改配置文件 tools/deploy/sequoiadb.conf

      1. role,groupName,hostName,serviceName,dbPath
      2. catalog,SYSCatalogGroup,sdbserver1,11800,[installPath]/database/catalog/11800
      3. catalog,SYSCatalogGroup,sdbserver2,11800,[installPath]/database/catalog/11800
      4. catalog,SYSCatalogGroup,sdbserver3,11800,[installPath]/database/catalog/11800
      5. coord,SYSCoord,sdbserver1,11810,[installPath]/database/coord/11810
      6. coord,SYSCoord,sdbserver2,11810,[installPath]/database/coord/11810
      7. coord,SYSCoord,sdbserver3,11810,[installPath]/database/coord/11810
      8. data,group1,sdbserver1,11820,[installPath]/database/data/11820
      9. data,group1,sdbserver2,11820,[installPath]/database/data/11820
      10. data,group1,sdbserver3,11820,[installPath]/database/data/11820
      11. data,group2,sdbserver1,11830,[installPath]/database/data/11830
      12. data,group2,sdbserver2,11830,[installPath]/database/data/11830
      13. data,group2,sdbserver3,11830,[installPath]/database/data/11830
      14. data,group3,sdbserver1,11840,[installPath]/database/data/11840
      15. data,group3,sdbserver3,11840,[installPath]/database/data/11840
    2. 部署 SequoiaDB

      1. $ tools/deploy/quickDeploy.sh --sdb

    修改协调节点地址

    SequoiaSQL-MySQL/SequoiaSQL-PostgreSQL 所对应的配置文件属于 csv 格式,不同的配置参数以逗号分隔。配置文件中的 coordAddr 参数默认配置为 - ,会取 tools/deploy/sequoiadb.conf 中第一个 coord 的地址。

    • SequoiaSQL-MySQL

      • 指定具体的 coordAddr,格式为 localhost:50000

        1. $ vim tools/deploy/mysql.conf

        修改配置为:

        1. instanceName,port,databaseDir,coordAddr
        2. myinst,3306,[installPath]/database/3306,localhost:50000
      • 指定多个协调节点地址,格式为 [localhost:50000,localhost:11810]

        1. $ vim tools/deploy/mysql.conf

        修改配置为:

    • SequoiaSQL-PostgreSQL

      • 指定具体的 coordAddr,格式为 localhost:50000

        1. $ vim tools/deploy/postgresql.conf

        修改配置为:

        1. instanceName,port,databaseDir,coordAddr
        2. myinst,5432,[installPath]/database/5432,localhost:50000
      • 指定多个协调节点地址,格式为 [localhost:50000,localhost:11810]

        1. $ vim tools/deploy/postgresql.conf

        修改配置为:

        1. instanceName,port,databaseDir,coordAddr
        2. myinst,5432,[installPath]/database/5432,[localhost:50000,localhost:11810]
    • SequoiaSQL-MySQL

      配置两个实例 myinst/myinst1,端口号分别为 3306/3307

      1. $ vim tools/deploy/mysql.conf

      修改配置为:

      1. instanceName,port,databaseDir,coordAddr
      2. myinst,3306,[installPath]/database/3306,-
      3. myinst1,3307,[installPath]/database/3307,-
    • SequoiaSQL-PostgreSQL

      配置两个实例 myinst/myinst1,端口号分别为 5432/5433

      1. instanceName,port,databaseDir,coordAddr
      2. myinst1,5433,[installPath]/database/5433,-