rabbitmq 节点重新加入集群
- 节点清除rabbitmq配置(踢出的节点操作)
停止rabbitmq-server的服务
systemctl stop rabbitmq-server
rm -rf /var/lib/rabbitmq/*
- 拷贝正常节点 (从正常节点拷贝到需要踢出的节点操作)
/var/lib/rabbitmq/.erlang.cookie
权限 rabbitmq rabbitmq
- 在集群正常节点将故障节点踢出(踢出的节点操作)
在新的rabbitmq集群主节点踢出rabbit@controller7325节点
rabbitmqctl -n rabbit@controller7326 forget_cluster_node rabbit@controller7325
- 重新加入到集群内(踢出的节点操作)
systemctl start rabbitmq-server
rabbitmqctl stop_app
rabbitmqctl reset
rabbitmqctl join_cluster "rabbit@controller7326"
rabbitmqctl start_app
- 完成后重新检查rabbitmq集群状态
rabbitmqctl cluster_status
etcd 重新加入集群
- 查出所有的etcd节点
例如node3为异常节点
# etcdctl member list
8e2382963be977b5, started, node2, http://216.8.10.16:2380, http://216.8.10.16:2379, false
b86f8b203a2290b1, started, node3, http://216.8.10.10:2380, http://216.8.10.10:2379, false
cd0f3e6a9f267e4b, started, node1, http://216.8.10.13:2380, http://216.8.10.13:2379, false
- 移除异常节点
# etcdctl --endpoints=http://216.8.10.16:2379 --user=root:passw0rd member remove b86f8b203a2290b1
# etcdctl member list
8e2382963be977b5, started, node2, http://216.8.10.16:2380, http://216.8.10.16:2379, false
cd0f3e6a9f267e4b, started, node1, http://216.8.10.13:2380, http://216.8.10.13:2379, false
- 异常节点加入集群
在异常节点执行
etcdctl --endpoints=http://216.8.10.13:2379 --user=root:passw0rd member add node3 --peer-urls=http://216.8.10.10:2380
完成后修改etcd.conf
ETCD_INITIAL_CLUSTER_STATE="existing"
修改完之后删除lib目录下etcd内所有内容
- 重启异常节点etcd服务
systemctl restart etcd
# etcdctl member list
8e2382963be977b5, started, node2, http://216.8.10.16:2380, http://216.8.10.16:2379, false
c52380bdd3499df4, started, node3, http://216.8.10.10:2380, http://216.8.10.10:2379, false
cd0f3e6a9f267e4b, started, node1, http://216.8.10.13:2380, http://216.8.10.13:2379, false
- 调整etcd.conf
ETCD_INITIAL_CLUSTER_STATE="new"
调整之后重启etcd