暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

磐维分布式数据库日常维护命令

原创 飞天 2025-03-09
98

磐维数据库官网

磐维数据库官网

查看数据库集群整体运行状态

语法:ha_ctl monitor all [-H] [-I] [-c clustername] -l dcslist 说明:如果创建集群的时候,集群名是panwei,则在命令行中可以省略-c clustername,否则需要加入-c clustername。 示例:ha_ctl monitor all -l http://192.*.*.60:2379 -HI
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor all -l http://192.*.*.60:2379 -HI +----+------------+----------------+-------+---------+--------+ | No | name | host | port | state | leader | +----+------------+----------------+-------+---------+--------+ | 0 | ha_server1 | 192.*.*.60 | 20001 | running | True | +----+------------+----------------+-------+---------+--------+ +----+------+----------------+------+----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+----------------+---------+---------+ | 0 | gtm1 | 192.*.*.60 | 6666 | /data/gtm/gtm1 | running | primary | | 1 | gtm2 | 192.*.*.62 | 6666 | /data/gtm/gtm2 | running | standby | +----+------+----------------+------+----------------+---------+---------+ +----+------+----------------+------+-----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+-----------------+---------+---------+ | 0 | cn1 | 192.*.*.62 | 5432 | /data/coord/cn1 | running | primary | | 1 | cn2 | 192.*.*.64 | 5432 | /data/coord/cn2 | running | primary | +----+------+----------------+------+-----------------+---------+---------+ +----+-------+-------+----------------+-------+-----------------+---------+---------+ | No | group | name | host | port | work_dir | state | role | +----+-------+-------+----------------+-------+-----------------+---------+---------+ | 0 | dn1 | dn1_1 | 192.*.*.62 | 15432 | /data/dn1/dn1_1 | running | primary | | 1 | dn1 | dn1_2 | 192.*.*.64 | 15432 | /data/dn1/dn1_2 | running | standby | | 2 | dn1 | dn1_3 | 192.*.*.60 | 15432 | /data/dn1/dn1_3 | running | standby | | 3 | dn2 | dn2_1 | 192.*.*.64 | 20010 | /data/dn2/dn2_1 | running | primary | | 4 | dn2 | dn2_2 | 192.*.*.60 | 20010 | /data/dn2/dn2_2 | running | standby | | 5 | dn2 | dn2_3 | 192.*.*.62 | 20010 | /data/dn2/dn2_3 | running | standby | +----+-------+-------+----------------+-------+-----------------+---------+---------+ +----+----------------------------+--------+---------+----------+ | No | url | name | state | isLeader | +----+----------------------------+--------+---------+----------+ | 0 | http://192.*.*.64:2379 | node_2 | healthy | False | | 1 | http://192.*.*.62:2379 | node_1 | healthy | False | | 2 | http://192.*.*.60:2379 | node_0 | healthy | True | +----+----------------------------+--------+---------+----------+
复制

查看各组件的状态

查看ha server的运行状态

ha_ctl monitor server -l http://192.*.*.60:2379 -HI
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor server -l http://192.*.*.60:2379 -HI +----+------------+----------------+-------+---------+--------+ | No | name | host | port | state | leader | +----+------------+----------------+-------+---------+--------+ | 0 | ha_server1 | 192.*.*.60 | 20001 | running | True | +----+------------+----------------+-------+---------+--------+
复制

查看gtm的运行状态

ha_ctl monitor gtm -l http://192.*.*.60:2379 -HI
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor gtm -l http://192.*.*.60:2379 -HI +----+------+----------------+------+----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+----------------+---------+---------+ | 0 | gtm1 | 192.*.*.60 | 6666 | /data/gtm/gtm1 | running | primary | | 1 | gtm2 | 192.*.*.62 | 6666 | /data/gtm/gtm2 | running | standby | +----+------+----------------+------+----------------+---------+---------+ [omm@node1 ~]$
复制

查看dcs的运行状态

ha_ctl monitor dcs -l http://192.*.*.60:2379 -HI
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor dcs -l http://192.*.*.60:2379 -HI +----+----------------------------+--------+---------+----------+ | No | url | name | state | isLeader | +----+----------------------------+--------+---------+----------+ | 0 | http://192.*.*.64:2379 | node_2 | healthy | False | | 1 | http://192.*.*.62:2379 | node_1 | healthy | False | | 2 | http://192.*.*.60:2379 | node_0 | healthy | True | +----+----------------------------+--------+---------+----------+
复制

查看cn节点的运行状态

ha_ctl monitor coordinator -l http://192.*.*.60:2379 -HI
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor coordinator -l http://192.*.*.60:2379 -HI +----+------+----------------+------+-----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+-----------------+---------+---------+ | 0 | cn1 | 192.*.*.62 | 5432 | /data/coord/cn1 | running | primary | | 1 | cn2 | 192.*.*.64 | 5432 | /data/coord/cn2 | running | primary | +----+------+----------------+------+-----------------+---------+---------+
复制

查看dn节点的运行状态

ha_ctl monitor datanode -l http://192.*.*.60:2379 -HI
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor datanode -l http://192.*.*.60:2379 -HI +----+-------+-------+----------------+-------+-----------------+---------+---------+ | No | group | name | host | port | work_dir | state | role | +----+-------+-------+----------------+-------+-----------------+---------+---------+ | 0 | dn1 | dn1_1 | 192.*.*.62 | 15432 | /data/dn1/dn1_1 | running | primary | | 1 | dn1 | dn1_2 | 192.*.*.64 | 15432 | /data/dn1/dn1_2 | running | standby | | 2 | dn1 | dn1_3 | 192.*.*.60 | 15432 | /data/dn1/dn1_3 | running | standby | | 3 | dn2 | dn2_1 | 192.*.*.64 | 20010 | /data/dn2/dn2_1 | running | primary | | 4 | dn2 | dn2_2 | 192.*.*.60 | 20010 | /data/dn2/dn2_2 | running | standby | | 5 | dn2 | dn2_3 | 192.*.*.62 | 20010 | /data/dn2/dn2_3 | running | standby | +----+-------+-------+----------------+-------+-----------------+---------+---------+
复制

停止整个数据库集群

ha_ctl stop all -l http://192.*.*.60:2379
复制

示例如下:

[omm@node1 ~]$ ha_ctl stop all -l http://192.*.*.60:2379 { "ret":0, "msg":"Success" } [omm@node1 ~]$ ha_ctl monitor all -l http://192.*.*.60:2379 -HI +----+------------+----------------+-------+---------+--------+ | No | name | host | port | state | leader | +----+------------+----------------+-------+---------+--------+ | 0 | ha_server1 | 192.*.*.60 | 20001 | stopped | False | +----+------------+----------------+-------+---------+--------+ +----+------+----------------+------+----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+----------------+---------+---------+ | 0 | gtm1 | 192.*.*.60 | 6666 | /data/gtm/gtm1 | stopped | standby | | 1 | gtm2 | 192.*.*.62 | 6666 | /data/gtm/gtm2 | stopped | primary | +----+------+----------------+------+----------------+---------+---------+ +----+------+----------------+------+-----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+-----------------+---------+---------+ | 0 | cn1 | 192.*.*.62 | 5432 | /data/coord/cn1 | stopped | primary | | 1 | cn2 | 192.*.*.64 | 5432 | /data/coord/cn2 | stopped | primary | +----+------+----------------+------+-----------------+---------+---------+ +----+-------+-------+----------------+-------+-----------------+---------+---------+ | No | group | name | host | port | work_dir | state | role | +----+-------+-------+----------------+-------+-----------------+---------+---------+ | 0 | dn1 | dn1_1 | 192.*.*.62 | 15432 | /data/dn1/dn1_1 | stopped | primary | | 1 | dn1 | dn1_2 | 192.*.*.64 | 15432 | /data/dn1/dn1_2 | stopped | standby | | 2 | dn1 | dn1_3 | 192.*.*.60 | 15432 | /data/dn1/dn1_3 | stopped | standby | | 3 | dn2 | dn2_1 | 192.*.*.64 | 20010 | /data/dn2/dn2_1 | stopped | primary | | 4 | dn2 | dn2_2 | 192.*.*.60 | 20010 | /data/dn2/dn2_2 | stopped | standby | | 5 | dn2 | dn2_3 | 192.*.*.62 | 20010 | /data/dn2/dn2_3 | stopped | standby | +----+-------+-------+----------------+-------+-----------------+---------+---------+ +----+----------------------------+--------+---------+----------+ | No | url | name | state | isLeader | +----+----------------------------+--------+---------+----------+ | 0 | http://192.*.*.64:2379 | node_2 | healthy | True | | 1 | http://192.*.*.62:2379 | node_1 | healthy | False | | 2 | http://192.*.*.60:2379 | node_0 | healthy | False | +----+----------------------------+--------+---------+----------+
复制

启动整个数据库集群

ha_ctl start all -l http://192.*.*.60:2379
复制

示例如下:

[omm@node1 ~]$ ha_ctl start all -l http://192.*.*.60:2379 { "ret":0, "msg":"Success" } [omm@node1 ~]$ ha_ctl monitor all -l http://192.*.*.60:2379 -HI +----+------------+----------------+-------+---------+--------+ | No | name | host | port | state | leader | +----+------------+----------------+-------+---------+--------+ | 0 | ha_server1 | 192.*.*.60 | 20001 | running | True | +----+------------+----------------+-------+---------+--------+ +----+------+----------------+------+----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+----------------+---------+---------+ | 0 | gtm1 | 192.*.*.60 | 6666 | /data/gtm/gtm1 | running | standby | | 1 | gtm2 | 192.*.*.62 | 6666 | /data/gtm/gtm2 | running | primary | +----+------+----------------+------+----------------+---------+---------+ +----+------+----------------+------+-----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+-----------------+---------+---------+ | 0 | cn1 | 192.*.*.62 | 5432 | /data/coord/cn1 | running | primary | | 1 | cn2 | 192.*.*.64 | 5432 | /data/coord/cn2 | running | primary | +----+------+----------------+------+-----------------+---------+---------+ +----+-------+-------+----------------+-------+-----------------+---------+---------+ | No | group | name | host | port | work_dir | state | role | +----+-------+-------+----------------+-------+-----------------+---------+---------+ | 0 | dn1 | dn1_1 | 192.*.*.62 | 15432 | /data/dn1/dn1_1 | running | primary | | 1 | dn1 | dn1_2 | 192.*.*.64 | 15432 | /data/dn1/dn1_2 | running | standby | | 2 | dn1 | dn1_3 | 192.*.*.60 | 15432 | /data/dn1/dn1_3 | running | standby | | 3 | dn2 | dn2_1 | 192.*.*.64 | 20010 | /data/dn2/dn2_1 | running | primary | | 4 | dn2 | dn2_2 | 192.*.*.60 | 20010 | /data/dn2/dn2_2 | running | standby | | 5 | dn2 | dn2_3 | 192.*.*.62 | 20010 | /data/dn2/dn2_3 | running | standby | +----+-------+-------+----------------+-------+-----------------+---------+---------+ +----+----------------------------+--------+---------+----------+ | No | url | name | state | isLeader | +----+----------------------------+--------+---------+----------+ | 0 | http://192.*.*.64:2379 | node_2 | healthy | False | | 1 | http://192.*.*.62:2379 | node_1 | healthy | True | | 2 | http://192.*.*.60:2379 | node_0 | healthy | False | +----+----------------------------+--------+---------+----------+ [omm@node1 ~]$
复制

gtm相关操作

停止gtm

停止所有gtm: ha_ctl stop gtm all -l http://192.*.*.60:2379 停止某个gtm: ha_ctl stop gtm gtm1 -l http://192.*.*.60:2379 ha_ctl stop gtm gtm2 -l http://192.*.*.60:2379
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor gtm -l http://192.*.*.60:2379 -HI +----+------+----------------+------+----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+----------------+---------+---------+ | 0 | gtm1 | 192.*.*.60 | 6666 | /data/gtm/gtm1 | running | primary | | 1 | gtm2 | 192.*.*.62 | 6666 | /data/gtm/gtm2 | running | standby | +----+------+----------------+------+----------------+---------+---------+ 可以看到,当前gtm主节点为gtm1,下面停止gtm1: [omm@node1 ~]$ ha_ctl stop gtm gtm1 -l http://192.*.*.60:2379 { "ret":0, "msg":"Success" } stop 命令执行成功。 [omm@node1 ~]$ ha_ctl monitor gtm -l http://192.*.*.60:2379 -HI +----+------+----------------+------+----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+----------------+---------+---------+ | 0 | gtm1 | 192.*.*.60 | 6666 | /data/gtm/gtm1 | stopped | standby | | 1 | gtm2 | 192.*.*.62 | 6666 | /data/gtm/gtm2 | running | primary | +----+------+----------------+------+----------------+---------+---------+ 可以看到,gtm1被停止,状态为stopped,gtm2被提升成gtm主节点。
复制

启动gtm

启动所有gtm: ha_ctl start gtm all -l http://192.*.*.60:2379 启动某个gtm: ha_ctl start gtm gtm1 -l http://192.*.*.60:2379 ha_ctl start gtm gtm2 -l http://192.*.*.60:2379
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor gtm -l http://192.*.*.60:2379 -HI +----+------+----------------+------+----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+----------------+---------+---------+ | 0 | gtm1 | 192.*.*.60 | 6666 | /data/gtm/gtm1 | stopped | standby | | 1 | gtm2 | 192.*.*.62 | 6666 | /data/gtm/gtm2 | running | primary | +----+------+----------------+------+----------------+---------+---------+ 可以看到,当前gtm1节点状态为stopped,下面启动gtm1: [omm@node1 ~]$ ha_ctl start gtm gtm1 -l http://192.*.*.60:2379 { "ret":0, "msg":"Success" } start 命令执行成功。 [omm@node1 ~]$ ha_ctl monitor gtm -l http://192.*.*.60:2379 -HI +----+------+----------------+------+----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+----------------+---------+---------+ | 0 | gtm1 | 192.*.*.60 | 6666 | /data/gtm/gtm1 | running | standby | | 1 | gtm2 | 192.*.*.62 | 6666 | /data/gtm/gtm2 | running | primary | +----+------+----------------+------+----------------+---------+---------+ 可以看到,gtm1被启动,状态为running。
复制

切换gtm

切换命令为:gtm gtm1 gtm2将当前主节点从gtm1切换到gtm2上 ha_ctl switchover gtm gtm1 gtm2 -l http://192.*.*.60:2379
复制

示例如下:

# 查看gtm [omm@node1 ~]$ ha_ctl monitor gtm -l http://192.*.*.60:2379 -HI +----+------+----------------+------+----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+----------------+---------+---------+ | 0 | gtm1 | 192.*.*.60 | 6666 | /data/gtm/gtm1 | running | primary | | 1 | gtm2 | 192.*.*.62 | 6666 | /data/gtm/gtm2 | running | standby | +----+------+----------------+------+----------------+---------+---------+ 可以看到,目前gtm主运行在了gtm1(192.*.*.60)节点。下面执行switchover命令把gtm主节点从gtm1切换到gtm2: [omm@node1 ~]$ ha_ctl switchover gtm gtm1 gtm2 -l http://192.*.*.60:2379 { "ret":0, "msg":"Success" } switchover命令执行成功。 [omm@node1 ~]$ ha_ctl monitor gtm -l http://192.*.*.60:2379 -HI +----+------+----------------+------+----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+----------------+---------+---------+ | 0 | gtm1 | 192.*.*.60 | 6666 | /data/gtm/gtm1 | running | standby | | 1 | gtm2 | 192.*.*.62 | 6666 | /data/gtm/gtm2 | running | primary | +----+------+----------------+------+----------------+---------+---------+ 可以看到,switchover后,gtm主运行在了gtm2 (192.*.*.62)节点。
复制

cn相关操作

停止cn

停止所有cn: ha_ctl stop coordinator all -l http://192.*.*.60:2379 停止某个cn: ha_ctl stop coordinator cn1 -l http://192.*.*.60:2379 ha_ctl stop coordinator cn2 -l http://192.*.*.60:2379
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor coordinator -l http://192.*.*.60:2379 -HI +----+------+----------------+------+-----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+-----------------+---------+---------+ | 0 | cn1 | 192.*.*.62 | 5432 | /data/coord/cn1 | running | primary | | 1 | cn2 | 192.*.*.64 | 5432 | /data/coord/cn2 | running | primary | +----+------+----------------+------+-----------------+---------+---------+ 可以看到,cn1和cn2的状态都为running。 [omm@node1 ~]$ ha_ctl stop coordinator cn1 -l http://192.*.*.60:2379 { "ret":0, "msg":"Success" } stop命令执行成功。 [omm@node1 ~]$ ha_ctl monitor coordinator -l http://192.*.*.60:2379 -HI +----+------+----------------+------+-----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+-----------------+---------+---------+ | 0 | cn1 | 192.*.*.62 | 5432 | /data/coord/cn1 | stopped | primary | | 1 | cn2 | 192.*.*.64 | 5432 | /data/coord/cn2 | running | primary | +----+------+----------------+------+-----------------+---------+---------+ 可以看到,stop执行后,cn1的运行状态为stopped。
复制

启动cn

启动所有cn: ha_ctl start coordinator all -l http://192.*.*.60:2379 启动某个cn: ha_ctl start coordinator cn1 -l http://192.*.*.60:2379
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor coordinator -l http://192.*.*.60:2379 -HI +----+------+----------------+------+-----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+-----------------+---------+---------+ | 0 | cn1 | 192.*.*.62 | 5432 | /data/coord/cn1 | stopped | primary | | 1 | cn2 | 192.*.*.64 | 5432 | /data/coord/cn2 | running | primary | +----+------+----------------+------+-----------------+---------+---------+ 可以看到,cn1的运行状态为stopped。 [omm@node1 ~]$ ha_ctl start coordinator cn1 -l http://192.*.*.60:2379 { "ret":0, "msg":"Success" } start命令执行成功。 [omm@node1 ~]$ ha_ctl monitor coordinator -l http://192.*.*.60:2379 -HI +----+------+----------------+------+-----------------+---------+---------+ | No | name | host | port | work_dir | state | role | +----+------+----------------+------+-----------------+---------+---------+ | 0 | cn1 | 192.*.*.62 | 5432 | /data/coord/cn1 | running | primary | | 1 | cn2 | 192.*.*.64 | 5432 | /data/coord/cn2 | running | primary | +----+------+----------------+------+-----------------+---------+---------+ [omm@node1 ~]$ 可以看到,cn1的运行状态为running。
复制

dn相关操作

停止dn

ha_ctl stop datanode GROUP_NAME NAME -l http://192.*.*.60:2379 示例: ha_ctl stop datanode dn1 dn1_1 -l http://192.*.*.60:2379
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor datanode -l http://192.*.*.60:2379 -HI +----+-------+-------+----------------+-------+-----------------+---------+---------+ | No | group | name | host | port | work_dir | state | role | +----+-------+-------+----------------+-------+-----------------+---------+---------+ | 0 | dn1 | dn1_1 | 192.*.*.62 | 15432 | /data/dn1/dn1_1 | running | primary | | 1 | dn1 | dn1_2 | 192.*.*.64 | 15432 | /data/dn1/dn1_2 | running | standby | | 2 | dn1 | dn1_3 | 192.*.*.60 | 15432 | /data/dn1/dn1_3 | running | standby | | 3 | dn2 | dn2_1 | 192.*.*.64 | 20010 | /data/dn2/dn2_1 | running | primary | | 4 | dn2 | dn2_2 | 192.*.*.60 | 20010 | /data/dn2/dn2_2 | running | standby | | 5 | dn2 | dn2_3 | 192.*.*.62 | 20010 | /data/dn2/dn2_3 | running | standby | +----+-------+-------+----------------+-------+-----------------+---------+---------+ 可以看到,所有dn的运行状态都为running。 [omm@node1 ~]$ ha_ctl stop datanode dn1 dn1_1 -l http://192.*.*.60:2379 { "ret":0, "msg":"Success" } stop命令执行成功。 [omm@node1 ~]$ ha_ctl monitor datanode -l http://192.*.*.60:2379 -HI +----+-------+-------+----------------+-------+-----------------+---------+---------+ | No | group | name | host | port | work_dir | state | role | +----+-------+-------+----------------+-------+-----------------+---------+---------+ | 0 | dn1 | dn1_1 | 192.*.*.62 | 15432 | /data/dn1/dn1_1 | stopped | standby | | 1 | dn1 | dn1_2 | 192.*.*.64 | 15432 | /data/dn1/dn1_2 | running | primary | | 2 | dn1 | dn1_3 | 192.*.*.60 | 15432 | /data/dn1/dn1_3 | running | standby | | 3 | dn2 | dn2_1 | 192.*.*.64 | 20010 | /data/dn2/dn2_1 | running | primary | | 4 | dn2 | dn2_2 | 192.*.*.60 | 20010 | /data/dn2/dn2_2 | running | standby | | 5 | dn2 | dn2_3 | 192.*.*.62 | 20010 | /data/dn2/dn2_3 | running | standby | +----+-------+-------+----------------+-------+-----------------+---------+---------+ 可以看到,dn1_1的运行状态为stopped,同时它的role切换为standby,dn1_2的role提升为primary。
复制

启动dn

ha_ctl start datanode GROUP_NAME NAME -l http://192.*.*.60:2379 示例: ha_ctl start datanode dn1 dn1_1 -l http://192.*.*.60:2379
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor datanode -l http://192.*.*.60:2379 -HI +----+-------+-------+----------------+-------+-----------------+---------+---------+ | No | group | name | host | port | work_dir | state | role | +----+-------+-------+----------------+-------+-----------------+---------+---------+ | 0 | dn1 | dn1_1 | 192.*.*.62 | 15432 | /data/dn1/dn1_1 | stopped | standby | | 1 | dn1 | dn1_2 | 192.*.*.64 | 15432 | /data/dn1/dn1_2 | running | primary | | 2 | dn1 | dn1_3 | 192.*.*.60 | 15432 | /data/dn1/dn1_3 | running | standby | | 3 | dn2 | dn2_1 | 192.*.*.64 | 20010 | /data/dn2/dn2_1 | running | primary | | 4 | dn2 | dn2_2 | 192.*.*.60 | 20010 | /data/dn2/dn2_2 | running | standby | | 5 | dn2 | dn2_3 | 192.*.*.62 | 20010 | /data/dn2/dn2_3 | running | standby | +----+-------+-------+----------------+-------+-----------------+---------+---------+ 可以看到,dn1_1的运行状态为stopped。 [omm@node1 ~]$ ha_ctl start datanode dn1 dn1_1 -l http://192.*.*.60:2379 { "ret":0, "msg":"Success" } start命令执行成功。 [omm@node1 ~]$ ha_ctl monitor datanode -l http://192.*.*.60:2379 -HI +----+-------+-------+----------------+-------+-----------------+---------+---------+ | No | group | name | host | port | work_dir | state | role | +----+-------+-------+----------------+-------+-----------------+---------+---------+ | 0 | dn1 | dn1_1 | 192.*.*.62 | 15432 | /data/dn1/dn1_1 | running | standby | | 1 | dn1 | dn1_2 | 192.*.*.64 | 15432 | /data/dn1/dn1_2 | running | primary | | 2 | dn1 | dn1_3 | 192.*.*.60 | 15432 | /data/dn1/dn1_3 | running | standby | | 3 | dn2 | dn2_1 | 192.*.*.64 | 20010 | /data/dn2/dn2_1 | running | primary | | 4 | dn2 | dn2_2 | 192.*.*.60 | 20010 | /data/dn2/dn2_2 | running | standby | | 5 | dn2 | dn2_3 | 192.*.*.62 | 20010 | /data/dn2/dn2_3 | running | standby | +----+-------+-------+----------------+-------+-----------------+---------+---------+ 可以看到,dn1_1的运行状态为running。
复制

切换dn

切换命令为:datanode dn1 dn1_2 dn1_1将当前dn1的主分片从dn1_2切换到dn1_1上 ha_ctl switchover datanode dn1 dn1_2 dn1_1 -l http://192.*.*.60:2379
复制

示例如下:

[omm@node1 ~]$ ha_ctl monitor datanode -l http://192.*.*.60:2379 -HI +----+-------+-------+----------------+-------+-----------------+---------+---------+ | No | group | name | host | port | work_dir | state | role | +----+-------+-------+----------------+-------+-----------------+---------+---------+ | 0 | dn1 | dn1_1 | 192.*.*.62 | 15432 | /data/dn1/dn1_1 | running | standby | | 1 | dn1 | dn1_2 | 192.*.*.64 | 15432 | /data/dn1/dn1_2 | running | primary | | 2 | dn1 | dn1_3 | 192.*.*.60 | 15432 | /data/dn1/dn1_3 | running | standby | | 3 | dn2 | dn2_1 | 192.*.*.64 | 20010 | /data/dn2/dn2_1 | running | primary | | 4 | dn2 | dn2_2 | 192.*.*.60 | 20010 | /data/dn2/dn2_2 | running | standby | | 5 | dn2 | dn2_3 | 192.*.*.62 | 20010 | /data/dn2/dn2_3 | running | standby | +----+-------+-------+----------------+-------+-----------------+---------+---------+ 可以看到,当前dn1_1分片的role为standby,dn1_2分片的role为primary。下面将dn1的主分片切换到 dn1_1。 [omm@node1 ~]$ ha_ctl switchover datanode dn1 dn1_2 dn1_1 -l http://192.*.*.60:2379 { "ret":0, "msg":"Success" } switchover命令执行成功。 [omm@node1 ~]$ ha_ctl monitor datanode -l http://192.*.*.60:2379 -HI +----+-------+-------+----------------+-------+-----------------+---------+---------+ | No | group | name | host | port | work_dir | state | role | +----+-------+-------+----------------+-------+-----------------+---------+---------+ | 0 | dn1 | dn1_1 | 192.*.*.62 | 15432 | /data/dn1/dn1_1 | running | primary | | 1 | dn1 | dn1_2 | 192.*.*.64 | 15432 | /data/dn1/dn1_2 | running | standby | | 2 | dn1 | dn1_3 | 192.*.*.60 | 15432 | /data/dn1/dn1_3 | running | standby | | 3 | dn2 | dn2_1 | 192.*.*.64 | 20010 | /data/dn2/dn2_1 | running | primary | | 4 | dn2 | dn2_2 | 192.*.*.60 | 20010 | /data/dn2/dn2_2 | running | standby | | 5 | dn2 | dn2_3 | 192.*.*.62 | 20010 | /data/dn2/dn2_3 | running | standby | +----+-------+-------+----------------+-------+-----------------+---------+---------+ 可以看到,dn1_1分片的role由standby被切换为primary,dn1_2分片的role由primary被切换为standby。
复制

总结

在生产系统执行命令的时候务必要小心谨慎,清楚命令的真实用途,并再三确认执行的命令是否正确,否则可能会造成严重的后果。高危操作在申请的割接窗口执行,切记!

关于作者:
网名:飞天,墨天轮2024年度优秀原创作者,拥有 Oracle 10g OCM 认证、PGCE认证以及OBCA、KCP、ACP、磐维等众多国产数据库认证证书,目前从事Oracle、Mysql、PostgresSQL、磐维数据库管理运维工作,喜欢结交更多志同道合的朋友,热衷于研究、分享数据库技术。
微信公众号:飞天online
墨天轮:https://www.modb.pro/u/15197
如有任何疑问,欢迎大家留言,共同探讨~~~

最后修改时间:2025-03-10 17:43:46
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

目录
  • 磐维数据库官网
  • 查看数据库集群整体运行状态
  • 查看各组件的状态
    • 查看ha server的运行状态
    • 查看gtm的运行状态
    • 查看dcs的运行状态
    • 查看cn节点的运行状态
    • 查看dn节点的运行状态
  • 停止整个数据库集群
  • 启动整个数据库集群
  • gtm相关操作
    • 停止gtm
    • 启动gtm
    • 切换gtm
  • cn相关操作
    • 停止cn
    • 启动cn
  • dn相关操作
    • 停止dn
    • 启动dn
    • 切换dn
  • 总结