随笔 - 121  文章 - 0  评论 - 2  阅读 - 68928 

故障etcd 节点 加入现有集群

恢复步骤:

1、查看故障节点的etcd状态并关闭服务

      systemctl status etcd  &&  systemctl stop etcd 

2、列出现有的集群节点ID

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --cacert=/opt/etcd/ssl/ca.pem --cert=/opt/etcd/ssl/server.pem --key=/opt/etcd/ssl/server-key.pem --endpoints="https://x.x.x.2:2379,https://x.x.x.3:2379,https://x.x.x.4:2379" member list -w table

3、通过ID 删除故障节点

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --cacert=/opt/etcd/ssl/ca.pem --cert=/opt/etcd/ssl/server.pem --key=/opt/etcd/ssl/server-key.pem --endpoints="https://x.x.x.2:2379,https://x.x.x.3:2379,https://x.x.x.4:2379"

member remove 48ccac483b85c1bd

4、删除故障节点的原数据目录

    rm /var/lib/etcd/default.etcd/*  -rf

5、修改故障ETCD 节点的 配置文件

/opt/etcd/cfg/etcd.conf  修改ETCD_INITIAL_CLUSTER_STATE="new" 为 ETCD_INITIAL_CLUSTER_STATE="existing"

6、把故障节点加入到现有集群

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --cacert=/opt/etcd/ssl/ca.pem --cert=/opt/etcd/ssl/server.pem --key=/opt/etcd/ssl/server-key.pem --endpoints="https://x.x.x.2:2379,https://x.x.x.3:2379,https://x.x.x.4:2379" member add x.x.x.4(etcd 名字)  --peer-urls=https://x.x.x.4:2380 

7、 查看集群状态,状态为unstarted 需要重新启动etcd

ETCDCTL_API=3 /opt/etcd/bin/etcdctl --cacert=/opt/etcd/ssl/ca.pem --cert=/opt/etcd/ssl/server.pem --key=/opt/etcd/ssl/server-key.pem --endpoints="https://x.x.x.2:2379,https://x.x.x.3:2379,https://x.x.x.4:2379" member list -w table 

8、 重新启动故障节点etcd服务并重启apiserver 服务,再次查看ETCD集群状态就是 started 状态

 systemctl start etcd 

9、至此 数据会从其他2个节点同步到新加入的节点

posted on   MhaiM  阅读(188)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 终于写完轮子一部分:tcp代理 了,记录一下
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 别再用vector<bool>了!Google高级工程师:这可能是STL最大的设计失误
· 单元测试从入门到精通
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
点击右上角即可分享
微信分享提示