进行oceanbase缩容时,停止服务报错:"ERROR 4179 (HY000): not enough member or quorum mismatch, stop servers not allowed",下文进行分析。

0.ENV

centos7.6;
oceanbase2.2.75。
当前部署单机6个observer测试环境,生产环境不建议该方式部署。
1. 现象

执行stop server报错:
obclient> alter system stop server "192.168.80.20:7882" zone "zone3";ERROR 4179 (HY000): not enough member or quorum mismatch, stop servers not allowed
2. 原因

官方提到:只有一个STOP SERVER操作结束,才能发起另一个STOP SERVER操作。
对官方进行补充:
只有一个DELETE SERVER操作结束,才能发起另一个STOP SERVER操作。
3. 问题解决

1) 查看当前status
当前有zone2 6882在执行deleting操作
obclient> select svr_ip,svr_port, id,zone,inner_port,status,usec_to_time(stop_time),usec_to_time(start_service_time),usec_to_time(last_offline_time) from __all_server;+---------------+----------+----+-------+------------+----------+----------------------------+----------------------------------+---------------------------------+| svr_ip | svr_port | id | zone | inner_port | status | usec_to_time(stop_time) | usec_to_time(start_service_time) | usec_to_time(last_offline_time) |+---------------+----------+----+-------+------------+----------+----------------------------+----------------------------------+---------------------------------+| 192.168.80.20 | 2882 | 1 | zone1 | 2881 | active | 1970-01-01 08:00:00.000000 | 2021-07-13 15:50:00.398462 | 1970-01-01 08:00:00.000000 || 192.168.80.20 | 3882 | 2 | zone2 | 3881 | active | 1970-01-01 08:00:00.000000 | 2021-07-13 15:49:58.450628 | 1970-01-01 08:00:00.000000 || 192.168.80.20 | 4882 | 3 | zone3 | 4881 | active | 1970-01-01 08:00:00.000000 | 2021-07-13 15:49:59.927852 | 1970-01-01 08:00:00.000000 || 192.168.80.20 | 6882 | 8 | zone2 | 6881 | deleting | 2021-07-15 17:17:32.568095 | 2021-07-15 08:53:51.181616 | 1970-01-01 08:00:00.000000 || 192.168.80.20 | 7882 | 9 | zone3 | 7881 | active | 1970-01-01 08:00:00.000000 | 2021-07-15 08:53:58.629463 | 1970-01-01 08:00:00.000000 |+---------------+----------+----+-------+------------+----------+----------------------------+----------------------------------+---------------------------------+5 rows in set (0.00 sec)
2) 当前无stop和delete操作时,执行stop server和delete server操作
obclient> alter system stop server "192.168.80.20:7882" zone "zone3";Query OK, 0 rows affected (8.26 sec)obclient> ALTER SYSTEM DELETE SERVER '192.168.80.20:7882';Query OK, 0 rows affected (0.19 sec)
4. 小结

参考官方说明,进行补充说明,等待上一个delete server操作完成后,才能正常执行stop server操作。
5. ref

https://www.oceanbase.com/docs/knowledge-base/knowledge-base/V1.0.0/observer-stop-error-error-code-4179
不足之处,还望抛砖。
作者:王坤,微信公众号:rundba,欢迎转载,转载请注明出处。
如需公众号转发,请联系wx: landnow。
文章转载自rundba,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




