文档中心

集群启停

集群管理服务

集群管理节点 sdbcm (SequoiaDB Cluster Manager) 是数据库的集群管理服务,是常驻系统后台的一个守护进程。负责执行远程的集群管理命令和监控本地的 SequoiaDB 数据库。每一个操作系统中只能启动一个集群管理节点。

操作系统启动后会自动启动 sdbcm 服务。该服务启动后会自动启动该物理机中所有注册在数据库安装目录 /opt/sequoiadb/conf/local (数据库默认安装路径)下的节点。用户使用命令 ps –elf | grep sequoiadb可以查看当前正在启动的节点与启动完毕的节点。

[sdbadmin@sdbserver1 ~]$ ps -elf | grep sequoiadb
0 S sdbadmin  48479      1  0  80   0 - 615441 hrtime 3月13 ?      00:15:25 sequoiadb(11820) C
0 S sdbadmin  48521      1  0  80   0 - 202014 hrtime 3月13 ?      00:10:37 sequoiadb(11810) S
0 S sdbadmin  48550      1  0  80   0 - 582947 hrtime 3月13 ?      00:11:02 sequoiadb(11830) D
0 S sdbadmin  48593      1  0  80   0 - 580349 hrtime 3月13 ?      00:11:03 sequoiadb(11840) D
0 S sdbadmin  56616  56500  0  80   0 - 28183 pipe_w 10:03 pts/0    00:00:00 grep --color=auto sequoiadb

启动完毕的进程名为:sequoiadb(服务名),如启动11830服务:

$ /opt/sequoiadb/bin/sequoiadb -c /opt/sequoiadb/conf/local/11830

集群启动/停止

数据库集群可通过两种方式启动和停止:数据库操作系统命令和数据库 shell 命令。

Note:

数据库操作系统命令只能对当前服务器的服务节点进行启动。

数据库操作系统命令集群启动/停止

数据库操作系统命令集群启动和停止主要使用 sdbstart 和 sdbstop 命令。

[sdbadmin@sdbserver1 ~]$ sdbstart --help
Command options:
  -h [ --help ]          help
  --version              version
  -c [ --confpath ] arg  configure file path
  -p [ --svcname ] arg   service name, separated by comma (',')
  -t [ --type ] arg      node type: db/om/all, default: db
  -r [ --role ] arg      role type: coord/data/catalog/om
  --force                force start when the config not exist
  -o [ --options ] arg   SequoiaDB start arguments, but not use 
                         '-c/--confpath/-p/--svcname'
  -i [ --ignoreulimit ]  skip checking ulimit

启动服务节点

数据库节点可通过 sdbstart 命令或 sdbstart 命令 -p/-t/-r 参数启动。

  • 通过 sdbstart 命令(不带参数)启动当前服务器数据节点、编目节点和协调节点:

    [sdbadmin@sdbserver1 ~]$ sdbstart
    Success: sequoiadb(11820) is successfully started (57008)
    Success: sequoiadb(11810) is successfully started (57011)
    Success: sequoiadb(11830) is successfully started (57014)
    Success: sequoiadb(11840) is successfully started (57017)
    Total: 4; Succeed: 4; Failed: 0

    Note:

    • sdbstart 命令默认启动数据节点、编目节点和协调节点
    • sdbstart 命令对已启动的服务节点不做任何操作
  • 通过 sdbstart 命令 -p 参数启动指定服务名节点:

    [sdbadmin@sdbserver1 ~]$ sdbstart -p 11830,11840
    Success: sequoiadb(11830) is successfully started (57130)
    Success: sequoiadb(11840) is successfully started (57133)
    Total: 2; Succeed: 2; Failed: 0

    Note:

    sdbstart -p 参数指定启动服务名称,多个服务名称用‘,’隔开

  • 通过 sdbstart 命令 -t 参数启动当前服务器所有服务节点:

    [sdbadmin@sdbserver1 ~]$ sdbstart -t all
    Success: sequoiadb(11820) is successfully started (60833)
    Success: sequoiadb(11810) is successfully started (60836)
    Success: sequoiadb(11830) is successfully started (60839)
    Success: sequoiadb(11840) is successfully started (60842)
    Total: 4; Succeed: 4; Failed: 0

    Note:

    sdbstart -t 参数指定启动服务类型。db 为数据节点、编目节点和协调节点,om 为 SequoiaDB 数据库管理服务,all 为当前服务器部署的所有服务。

  • 通过 sdbstart 命令 -r 参数启动数据节点:

    [sdbadmin@sdbserver1 ~]$ sdbstart -r data
    Success: sequoiadb(11830) is successfully started (61083)
    Success: sequoiadb(11840) is successfully started (61086)
    Total: 2; Succeed: 2; Failed: 0

    Note:

    sdbstart -r 参数指定启动服务角色。coord 为协调节点,data 为数据节点,catalog 为编目节点,om 为 Sequoiadb 数据库管理服务。

停止服务节点

数据库节点可通过 sdbstop 命令或 sdbstop 命令 -p/-t/-r 参数停止。

  • 通过 sdbstop 命令(不带参数)停止当前服务器数据节点、编目节点和协调节点:

    [sdbadmin@sdbserver1 ~]$ sdbstop
    Terminating process 60956: sequoiadb(11820)
    DONE
    Terminating process 60959: sequoiadb(11810)
    DONE
    Terminating process 61083: sequoiadb(11830)
    DONE
    Terminating process 61086: sequoiadb(11840)
    DONE
    Total: 4; Success: 4; Failed: 0

    Note:

    • sdbstop 命令默认启动数据节点、编目节点和协调节点
    • sdbstop 命令对已启动的服务节点不做任何操作
  • 通过 sdbstop 命令 -p 参数启动指定服务名节点:

    [sdbadmin@sdbserver1 ~]$ sdbstop -p 11830,11840
    Terminating process 61212: sequoiadb(11830)
    DONE
    Terminating process 61215: sequoiadb(11840)
    DONE
    Total: 2; Success: 2; Failed: 0

    Note:

    sdbstop -p 参数指定启动服务名称,多个服务名称用‘,’隔开。

  • 通过 sdbstop 命令 -t 参数启动当前服务器所有服务节点:

    [sdbadmin@sdbserver1 ~]$ sdbstop -t all
    Terminating process 61206: sequoiadb(11820)
    DONE
    Terminating process 61209: sequoiadb(11810)
    DONE
    Terminating process 61326: sequoiadb(11830)
    DONE
    Terminating process 61329: sequoiadb(11840)
    DONE
    Total: 4; Success: 4; Failed: 0

    Note:

    sdbstop -t 参数指定启动服务类型。db 为数据节点、编目节点和协调节点,om 为 SequoiaDB 数据库管理服务,all 为当前服务器部署的所有服务。

  • 通过 sdbstop 命令 -r 参数启动数据节点:

    [sdbadmin@sdbserver1 ~]$ sdbstop -r data
    Terminating process 61406: sequoiadb(11830)
    DONE
    Terminating process 61409: sequoiadb(11840)
    DONE
    Total: 2; Success: 2; Failed: 0

    Note:

    sdbstop -r 参数指定启动服务角色。coord 为协调节点,data 为数据节点,catalog 为编目节点,om 为 SequoiaDB 数据库管理服务。

数据库 shell 命令集群启动/停止

SequoiaDB 数据库支持在 sdb 命令行启动和停止服务节点。

数据库 shell 命令启动服务节点

  • 通过数据库 shell 命令连接到协调节点:

    [sdbadmin@sdbserver1 ~]$ sdb
    Welcome to SequoiaDB shell!
    help() for help, Ctrl+c or quit to exit
    > db = new Sdb("localhost",11810,"username","password");
    localhost:11810
    Takes 0.039023s.

    Note:

    通过数据库 shell 命令启动、停止服务节点的后续操作默认连接到协调节点。

  • 启动服务节点组

    > rg = db.getRG("group1");
    group1
    Takes 0.030888s.
    > rg.start();
    Takes 6.127494s.

    Note:

    “group1”为数据组名称,协调节点组名称为“SYSCoord”,编目节点组名称为“SYSCatalogGroup”。

  • 启动服务节点

    > rg = db.getRG("group1");
    group1
    Takes 0.001194s.
    > rg.getNode("sdbserver1",11830).start();
    Takes 2.138304s.

    Note:

    “sdbserver1”为数据节点所在服务器主机名,11830为数据节点服务名。

数据库 shell 命令停止服务节点

  • 停止服务节点组

    > rg = db.getRG("group1");
    group1
    Takes 0.030888s.
    > rg.stop();
    Takes 6.073289s.

    Note:

    • “group1”为数据组名称,协调节点组名称为“SYSCoord”,编目节点组名称为“SYSCatalogGroup”。
    • 协调节点组停止后需通过操作系统命令启动后才能进行数据库 shell 命令操作。
  • 停止服务节点

    > rg = db.getRG("group1");
    group1
    Takes 0.000899s.
    > rg.getNode("sdbserver1",11830).stop();
    Takes 5.054744s.

    Note:

    “sdbserver1”为数据节点所在服务器主机名,11830为数据节点服务名。

使用kill命令停止数据节点

  • 用户可以使用 kill -15 正常停止数据节点,以该方式停止的数据节点被认为正常停止。
  • 用户可以使用 kill -9 强行停止数据节点,以该方式停止的数据节点被认为非正常停止。
  • 如果该节点非正常停止,则会被 sdbcm 进程尝试重新启动。启动后该节点会与当前数据组中其它节点进行同步。
回到顶部