小知识,大挑战!本文正在参与“程序员必备小知识”创作活动
环境信息
- 3台CentOS7.8(172.168.1.232/234/235)
- 配置epel源
初始化集群
实施
- 安装Etcd(这里采用Yum安装,如果对版本有要求访问Etcd官网下载对应二进制版本)
3台机器分别执行
[root@pgslave2 ~]# yum install -y etcd
[root@pgslave2 ~]# rpm -qa|grep etcd etcd-3.3.11-2.el7.centos.x86_64
- 新建配置集群配置文件
[root@pgslave2 ~]# cat /etc/etcd/etcd.conf
ETCD_DATA_DIR="/var/lib/etcd/"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://localhost:2379,http://172.168.1.232:2379"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.168.1.232:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://172.168.1.232:2379"
ETCD_INITIAL_CLUSTER_TOKEN="hive-cluster"
ETCD_ADVERTISE_CLIENT_URLS="http://172.168.1.232:2379"
ETCD_ENABLE_V2="true"
ETCD_NAME="etcd0"
ETCD_INITIAL_CLUSTER="etcd1=http://172.168.1.234:2380,etcd2=http://172.168.1.235:2380,etcd0=http://172.168.1.232:2380"
ETCD_INITIAL_CLUSTER_STATE="new"
[root@pgslave1 ~]# cat /etc/etcd/etcd.conf
ETCD_DATA_DIR="/var/lib/etcd/"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://localhost:2379,http://172.168.1.234:2379"
ETCD_NAME="etcd1"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.168.1.234:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://172.168.1.234:2379"
ETCD_INITIAL_CLUSTER="etcd0=http://172.168.1.232:2380,etcd1=http://172.168.1.234:2380,etcd2=http://172.168.1.235:2380"
ETCD_INITIAL_CLUSTER_TOKEN="hive-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_ADVERTISE_CLIENT_URLS="http://172.168.1.234:2379"
ETCD_ENABLE_V2="true"
[root@pgmaster ~]# cat /etc/etcd/etcd.conf
ETCD_DATA_DIR="/var/lib/etcd/"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://localhost:2379,http://172.168.1.235:2379"
ETCD_NAME="etcd2"
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://172.168.1.235:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://172.168.1.235:2379"
ETCD_INITIAL_CLUSTER="etcd0=http://172.168.1.232:2380,etcd1=http://172.168.1.234:2380,etcd2=http://172.168.1.235:2380"
ETCD_INITIAL_CLUSTER_TOKEN="hive-cluster"
ETCD_INITIAL_CLUSTER_STATE="new"
ETCD_ADVERTISE_CLIENT_URLS="http://172.168.1.235:2379"
ETCD_ENABLE_V2="true"
- 分别启动3台etcd
systemctl start etcd
故障恢复
a. 恢复某个节点(3台只挂掉一台)
- 获取集群列表
etcdctl member list
- 删除不健康节点
etcdctl member remove c13845537406e22f
- 删除故障节点数据目录
rm -rf /var/lib/etcd/member
- 重新添加节点至集群
etcdctl member add etcd2 https://192.168.216.242:2380
- 启动故障节点etcd恢复
systemctl restart etcd