1. 查看observer进程
[admin@host3 ~]$ ps -ef | grep observer
admin 32087 1 99 11:28 ? 08:21:00 /data/observer/bin/observer -r 192.168.1.71:2882:2881;192.168.1.72:2882:2881;192.168.1.73:2882:2881 -p 2881 -P 2882 -z zone3 -n obcluster -c 1 -d /data/data -i ens33 -o __min_full_resource_pool_memory=2147483648,memory_limit=6G,system_memory=1G,datafile_size=20G,log_disk_size=15G,cpu_count=4,enable_syslog_wf=False,enable_syslog_recycle=True,max_syslog_file_count=4
2. 模拟故障:OceanBase集群(3副本)任一节点observer宕掉
[root]# kill -9 `pidof observer`
3. 通过SQL方式查看OB集群状态,此时zone3的状态是待激活(INACTIVE)
obclient [oceanbase]> select zone,svr_ip,inner_port,svr_port,status from __all_server;
+-------+--------------+------------+----------+----------+
| zone | svr_ip | inner_port | svr_port | status |
+-------+--------------+------------+----------+----------+
| zone1 | 192.168.1.71 | 2881 | 2882 | ACTIVE |
| zone2 | 192.168.1.72 | 2881 | 2882 | ACTIVE |
| zone3 | 192.168.1.73 | 2881 | 2882 | INACTIVE |
+-------+--------------+------------+----------+----------+
4. 启动observer进程,可以查看正常节点observer进程稍作修改执行即可(-r参数值使用""括起来,-z参数修改为当前节点对应的名称,-o参数值使用""括起来)
[admin]# /data/observer/bin/observer -r "192.168.1.71:2882:2881;192.168.1.72:2882:2881;192.168.1.73:2882:2881" -p 2881 -P 2882 -z zone3 -n obcluster -c 1 -d /data/data -i ens33 -o "__min_full_resource_pool_memory=2147483648,memory_limit=6G,system_memory=1G,datafile_size=20G,log_disk_size=15G,cpu_count=4,enable_syslog_wf=False,enable_syslog_recycle=True,max_syslog_file_count=4"
5. 查看集群状态,此时zone3的状态是活动(ACTIVE)
obclient [oceanbase]> select zone,svr_ip,inner_port,svr_port,status from __all_server;
+-------+--------------+------------+----------+--------+
| zone | svr_ip | inner_port | svr_port | status |
+-------+--------------+------------+----------+--------+
| zone1 | 192.168.1.71 | 2881 | 2882 | ACTIVE |
| zone2 | 192.168.1.72 | 2881 | 2882 | ACTIVE |
| zone3 | 192.168.1.73 | 2881 | 2882 | ACTIVE |
+-------+--------------+------------+----------+--------+