VMware+Centos7+ETCD集群安装

本文详细介绍了如何在Centos环境下使用VMware搭建ETCD集群的过程,包括配置主机名、安装ETCD、配置各节点参数、启动服务及检查集群状态等步骤,并针对一些常见问题提供了解决方案。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文在安装实践过程中参考了https://www.cnblogs.com/zhenyuyaodidiao/p/6237019.html,后面主要记录过程中遇到得问题。

1、VMware+Centos7安装:我在VMware下安装了3个Centos系统

2、通过hostnamectl修改Centos得主机名(为了方便后面配置ETCD时候辨识),我分别修改为centos_server1、centos_server2、centos_server3。

      我的3台机器ip:hostname对应如下:

      192.168.10.131 centos_server1
      192.168.10.129 centos_server2

      192.168.10.130 centos_server3

      将上面的3台服务器信息添加到各个Centos的/etc/hosts中

3、yum install etcd -y安装ETCD:也可以自己下载ETCD进行安装。

4、我通过yum安装的etcd,默认的配置文件在/etc/etcd/etcd.conf,修改3个节点的配置信息:

centos_server1配置:

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"

ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001"
ETCD_NAME="centos_server1"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://centos_server1:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://centos_server1:2379,http://centos_server1:4001"
ETCD_INITIAL_CLUSTER="centos_server1=http://centos_server1:2380,centos_server2=http://centos_server2:2380,centos_server3=http://centos_server3:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"

ETCD_INITIAL_CLUSTER_STATE="new"

centos_server2配置:

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://192.168.10.129:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001"
ETCD_NAME="centos_server2"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://192.168.10.129:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://centos_server2:2379,http://centos_server2:4001"
ETCD_INITIAL_CLUSTER="centos_server2=http://centos_server2:2380,centos_server1=http://centos_server1:2380,centos_server3=http://centos_server3:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"

ETCD_INITIAL_CLUSTER_STATE="new"


centos_server3配置:

ETCD_DATA_DIR="/var/lib/etcd/default.etcd"
ETCD_LISTEN_PEER_URLS="http://0.0.0.0:2380"
ETCD_LISTEN_CLIENT_URLS="http://0.0.0.0:2379,http://0.0.0.0:4001"
ETCD_NAME="centos_server3"
#[Clustering]
ETCD_INITIAL_ADVERTISE_PEER_URLS="http://centos_server3:2380"
ETCD_ADVERTISE_CLIENT_URLS="http://centos_server3:2379,http://centos_server3:4001"
ETCD_INITIAL_CLUSTER="centos_server1=http://centos_server1:2380,centos_server2=http://centos_server2:2380,centos_server3=http://centos_server3:2380"
ETCD_INITIAL_CLUSTER_TOKEN="etcd-cluster"

ETCD_INITIAL_CLUSTER_STATE="new"

5、关闭防火墙:如果防火墙不关闭,部分机器可能会存在ETCD需要用的端口打不开的情况,所以新手建议直接关闭。

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

6、各个机器上启动ETCD节点:systemctl start etcd

7、通过etcdctl member list和etcdctl cluster-health分别查看节点列表和集群状态,正常结果显示如下:


8、删除节点:

etcdctl member remove a71b5e3194c33d05

手动删除该节点的数据目录文件:rm -rf /var/lib/etcd/default.etcd

如果不删除该文件,会有信息冲突错误。

9、增加节点:

选择一个正在运行的etcd节点执行:etcdctl member add centos_server2 http://192.168.10.129:2379

启动该节点


遇到的问题:

1、dial tcp 127.0.0.1:2379: getsockopt: connection refused

解决办法:1)关闭防火墙

       2)如果是ETCD集群已经建好,删除节点后重新添加,记得一定要把配置文件中的ETCD_INITIAL_CLUSTER_STATE="new"改成ETCD_INITIAL_CLUSTER_STATE="existing",否则也会出现这个问题。

2、如果删除节点,一定需要手动删除数据目录,如果将这个被删除的节点重新加入集群,需要修改ETCD_INITIAL_CLUSTER_STATE为existing


评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值