之前我整过关于zookeeper集群、zookeeper分布式锁的实现的文章,分布式锁的实现还有基于etcd的,基于redis的,基于MySQL的等,后面会完成这一些列的知识分享。
今天从etcd集群的搭建开始切入。计划从VMware安装CentOS虚拟机开始,先创建一个模板机,后续搭建redis集群、etcd集群等各种需要创建虚拟机的时候,直接克隆模板机。
因此,我们先搞一个模板机,并对其进行一个简单的优化,比如安装基础软件vim,wget,net-tools等,还有比较重要的配置网络信息。
VMware安装CentOS7模板机
这部分比较基础,如不需要,可直接看后面的
etcd集群搭建
。
首先,我们先安装VMware WorkStation 15.5 Pro,这个安装过程比较简单,不再赘述。
如果没有安装包的或者不想在网上搜的,文末有获取方式。
创建虚拟机
安装过程我全部截图了,安装成功结果:

安装过程截图,一目了然:






设置CPU个数及核数,这个后期可以调整:

设置内存,后续可调整:










安装虚拟机
虚拟机创建完了,下面开始引导安装:


这里最好选English
,防止踩坑:









设置root密码:

安装完成,重启:

配置网络及安装基础软件
CentOS系统安装成功后,登录进去看一下:

编辑网络:


这个子网IP地址我安装的时候遇到坑了,我的物理机ip地址段是192.168,配置虚拟机子网IP为10.0.0.0,结果虚拟机内部都正常也能上网,但是用XShell就是连不上,最后重新编辑了虚拟网络VMnet8的子网IP为192.168段,成功连接。
安装基础软件,yum install -y wget vim net-tools lrzsz
:

网络配置:
vim /etc/sysconfig/network-scripts/ifcfg-ens33

保存退出,关闭虚拟机即可。
etcd集群的搭建
主机规划
序号 | 主机名称 | 角色 | IP地址 | 主机配置 | 系统 |
---|---|---|---|---|---|
1 | etcd-node01-master | master | 192.168.2.130 | 2C 4G | CentOS7x64 1810 |
2 | etcd-node02-slave | slave | 192.168.2.131 | 2C 4G | CentOS7x64 1810 |
3 | etcd-node03-slave | slave | 192.168.2.132 | 2C 4G | CentOS7x64 1810 |
从模板机克隆三台虚拟机
按照主机规划,先搞出3台机器,有了前面的模板机,这里直接克隆即可。




三台主机均这样克隆创建:

设置主机hostname
为每台主机设置主机名称
192.168.2.130:
hostnamectl set-hostname etcd-node01-master
192.168.2.131:
hostnamectl set-hostname etcd-node02-slave
192.168.2.132:
hostnamectl set-hostname etcd-node03-slave
设置主机IP地址
为每台主机配置IP地址

在线安装etcd
3台虚拟机均执行如下命令安装etcd:
yum install -y etcd
安装完成,使用etcdctl -v
命令验证一下:
node01:
[root@etcd-node01-master ~]# etcdctl -v
etcdctl version: 3.3.11
API version: 2
[root@etcd-node01-master ~]# rpm -qa | grep etcd
etcd-3.3.11-2.el7.centos.x86_64
node02:
[root@etcd-node02-slave ~]# etcdctl -v
etcdctl version: 3.3.11
API version: 2
[root@etcd-node02-slave ~]# rpm -qa | grep etcd
etcd-3.3.11-2.el7.centos.x86_64
node03:
[root@etcd-node03-slave ~]# etcdctl -v
etcdctl version: 3.3.11
API version: 2
[root@etcd-node03-slave ~]# rpm -qa | grep etcd
etcd-3.3.11-2.el7.centos.x86_64
etcd集群需要的环境准备好了,进行主从配置就好了,主要是配置/etc/etcd/etcd.conf
文件:

主节点配置好了后,为方便起见,直接将该文件scp
到其他两台主机:
scp /etc/etcd/etcd.conf root@192.168.2.131:/etc/etcd/
scp /etc/etcd/etcd.conf root@192.168.2.132:/etc/etcd/
然后到node02和node03上分别修改etcd.conf
,修改其中的ETCD_NAME
和相应的IP地址。
分别启动三台主机的etcd服务并验证集群:
[root@etcd-node01-master ~]# systemctl start etcd
[root@etcd-node01-master ~]# etcdctl member list
3447d51c282e7f7f: name=Slave02 peerURLs=http://192.168.2.132:2380 clientURLs=http://192.168.2.132:2379 isLeader=false
4bf6a1ee2ae8cb18: name=Slave01 peerURLs=http://192.168.2.131:2380 clientURLs=http://192.168.2.131:2379 isLeader=false
6131e520deb6a267: name=Master peerURLs=http://192.168.2.130:2380 clientURLs=http://192.168.2.130:2379 isLeader=true
集群健康状态:
[root@etcd-node01-master ~]# etcdctl cluster-health
member 3447d51c282e7f7f is healthy: got healthy result from http://192.168.2.132:2379
member 4bf6a1ee2ae8cb18 is healthy: got healthy result from http://192.168.2.131:2379
member 6131e520deb6a267 is healthy: got healthy result from http://192.168.2.130:2379
cluster is healthy
测试集群
在node01-master存储一个数据:

在两个从节点上获取数据:


好了,etcd集群搭建完了。
安装资料获取

关注公众号:行百里er,回复 etcd ,便可获取本文pdf文档,以及安装所需的软件。

往期推荐
原文始发于微信公众号(行百里er):手摸手助你从零开始搭建etcd集群
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/36718.html