ETCD节点故障恢复

我在微服务组里面主要负责配置中心的构建,我们的配置中心使用到了ETCD。在我们的内网环境中搭建了三个节点的ETCD,不过这三个节点的ETCD都搭建在同一台机器上。后来机器资源不够了系统直接kill了ETCD,导致内网的ETCD三个节点全部挂掉了。刚开始想逐个启动就完事了,但是按照之前的data-dir启动之后发现三个节点握手存在问题,原因是三个节点缓存数据的data目录里面都有节点以及数据信息,导致握手不成功。网上查了一些资料后发现这应该算是一次故障的恢复,解决方案是先以挂掉之前的一个节点为基础启动只有一个节点的集群,然后往这个集群中添加新节点等待数据同步。事实上,ETCD分开部署挂半数以下还是可以正常访问的,这次全挂了相当于从备份数据中恢复。

 

下面是执行恢复的具体命令:

etcd --data-dir=data.etcd2 --name machine-2 --initial-advertise-peer-urls http://127.0.0.1:12380 --listen-peer-urls http://127.0.0.1:12380 --advertise-client-urls http://10.1.45.52:12379 --listen-client-urls http://10.1.41.52:12379,http://127.0.0.1:2379 --initial-cluster machine-2=http://127.0.0.1:12380 --initial-cluster-token token-token --initial-cluster-state new --force-new-cluster >> /var/log/etcd/machine-2 2>&1 &

rm -rf data.etcd3 

etcdctl member list
etcdctl member add machine-3 http://127.0.0.1:22380

etcd --data-dir=data.etcd3 --name machine-3 --initial-advertise-peer-urls http://127.0.0.1:22380 --listen-peer-urls http://127.0.0.1:22380 --advertise-client-urls http://10.1.41.52:22379 --listen-client-urls http://10.1.41.52:22379 --initial-cluster machine-2=http://127.0.0.1:12380,machine-3=http://127.0.0.1:22380 --initial-cluster-state existing --initial-cluster-token token-token >> /var/log/etcd/machine-3 2>&1 &

 

rm -rf data.etcd1

etcdctl member list

etcdctl member add machine-1 http://127.0.0.1:2380

etcd --data-dir=data.etcd1 --name machine-1 --initial-advertise-peer-urls http://127.0.0.1:2380 --listen-peer-urls http://127.0.0.1:2380 --advertise-client-urls http://10.1.41.52:2379 --listen-client-urls http://10.1.41.52:2379 --initial-cluster machine-2=http://127.0.0.1:12380,machine-3=http://127.0.0.1:22380,machine-1=http://127.0.0.1:2380 --initial-cluster-state existing --initial-cluster-token token-token >> /var/log/etcd/machine-1 2>&1 &

 

总计部署了三个节点,节点缓存数据的目录分别是data.etcd1、data.etcd2、data.etcd3。我是删除 data.etcd1、data.etcd3目录保留data.etcd2目录,然后用data.etcd2为基础进行恢复的。

当时着急恢复就没有记录报错信息,先记录一下我恢复一下现场把详细的报错信息补充上

转载于:https://www.cnblogs.com/moontower/p/8284943.html

你可能感兴趣的:(ETCD节点故障恢复)