使用gcadmin setnodestate设置节点离线状态

现场节点能ping通,但无法通过ssh连到节点,通过gncli也无法连到数据库,导致集群下发SQL时一直试图连接到该节点。如未及时发现问题,时间长了会导致大量SQL积压。
因为ssh无法连接到故障节点,以及不方便去机房操作,所以通过关闭故障节点的gcware服务或者将服务器关机、断开网络连接,变得不可行。需要通过集群层命令实现可以直接从集群中将故障节点暂时离线,待故障解决后再恢复为正常状态。


1 回答

可以使用gcadmin setnodestate设置节点failure离线状态解决。
setnodestate命令语法:
gcadmin setnodestate ip <state>
ip:要设置状态的节点ip
State: 设置后的节点状态:
1UNAVILIABLE
2failure标识集群故障,相当于offline 这时dmlddl将不会下发到该节点直接记录fevent
3normal:当节点故障解决后可以直接将节点置为normal,这相当于节点重新online,这时gcrecover将恢复之前记录的feventlog,新发起的ddldml将重新下发到该节点。
注:集群存在多个distribution时,如果设置一个节点为unavailable状态,会导致任何一个distribution中出现某个分片的主副分片都不可用得情况,则设置失败。

2018-4-19 15:15

撰写回答

您需要登录后才可以回帖 登录 | 立即注册

提问者

发布89
回答256

相关资料