Etcd集群初始化

463 阅读1分钟

小知识,大挑战!本文正在参与“程序员必备小知识”创作活动

环境信息

  • 3台CentOS7.8(172.168.1.232/234/235)
  • 配置epel源

初始化集群

实施

  1. 安装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
  1. 新建配置集群配置文件
[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"
  1. 分别启动3台etcd
systemctl start etcd

故障恢复

a. 恢复某个节点(3台只挂掉一台)

  1. 获取集群列表
etcdctl member list
  1. 删除不健康节点
etcdctl member remove c13845537406e22f
  1. 删除故障节点数据目录
rm -rf  /var/lib/etcd/member
  1. 重新添加节点至集群
etcdctl member add etcd2  https://192.168.216.242:2380
  1. 启动故障节点etcd恢复
systemctl restart etcd