1、为什么要用etcd集群?
集群很好理解,毕竟增加了高可用性了,那为什么要用etcd而不实用zookeeper呢?从运维的角度来看,zk难以维护,而etcd作为后起之秀,则大大减少的运维的成本。
2、etcd是什么?
etcd主要用来作为共享的服务配置及服务发现,使用的是raft协议来保证在分布式系统下的数据一致性,而raft算法那么容易理解,对于每个过程也是很好处理的。
3、如何使用etcd集群?
etcd的集群搭建是相当容易的,在使用的时候,使用命令行或者接口都是可以的,而作为一种分布式的kv存储,和redis感觉很相同,都是使用key value的模式,不过在etcd中,使用的树形结构来组织,和linux的目录结构是一致的(具体见后文实例)。
1、集群架构
在搭建集群中,使用四台机器进行演示,etcd集群为3台机器,1台机器作为备用机器,进行模拟坏的机器。
2、 安装etcd
在centos7系统上自带有etcd,从而只要直接使用yum进行安装即可(在四台机器上均要进行安装)。
3、 开启防火墙
[root@centos ~]# firewall-cmd --add-port=2380/tcp --permanent;firewall-cmd --add-port=2379/tcp --permanent;systemctl restart firewalld
success
success
4、 启动etcd
在新建集群的时候,首先在一台机器上启动etcd服务(测试的时候,注意将ip地址进行修改即可):
[root@docker-ce /]# etcd --name docker-ce --data-dir /etcd --initial-advertise-peer-urls http://192.168.1.222:2380 --listen-peer-urls http://192.168.1.222:2380 --listen-client-urls http://192.168.1.222:2379,http://127.0.0.1:2379 --advertise-client-urls http://192.168.1.222