磐维数据库官网
查看数据库集群整体运行状态
语法: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进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。
评论
目录