服务发现系统etcd 集群介绍

本文详细介绍了如何在三台Docker机器上部署基于Raft协议的etcd集群,并提供了具体的启动命令及集群状态查询方法。

       上一篇通过api接口简单的操作了一下etcd,本篇打算部署etcd集群。我们使用raft作为基础的分布式服务协议,它在所有的etcd节点上提供了一致性的数据访问和持久化的数据存储。现在我们在三台机器上启动etcd实例,就是上一篇中的三台Docker机器。

192.168.1.100  Docker-1  server
192.168.1.101  Docker-2  client
192.168.1.102  Docker-3  client
Docker-1

./bin/etcd -peer-addr 192.168.1.100:7001 -addr 192.168.1.100:4001 -data-dir /tmp/etcd/ -name Docker-1
 

    接下来我们使用-peers参数把其余两台docker机器也加入这个集群中。

Docker-2

./bin/etcd -peer-addr 192.168.1.100:7001 -addr 192.168.1.100:4001 -data-dir /tmp/etcd/ -name Docker-1

Docker-3

./bin/etcd -peer-addr 192.168.1.102:7001 -addr 192.168.1.102:4001 -peers 192.168.1.100:7001,192.168.1.101:7001 -data-dir /tmp/etcd/ -name Docker-3

        现在我们随便找台节点查询当前etcd集群中的成员,我们在Docker-1上进行查询

curl -s http://192.168.1.102:4001/v2/machines
        这个结果显示起来可读性不友好,我们换个api接口来读取 

curl -s http://192.168.1.102:4001/v2/keys/_etcd/machines
 

        可以看到整个etcd集群中有三个节点,这时候我们就可以使用api接口进行get/set操作了。

        当集群中的一个节点从集群中断开链接后,该节点会自动的尝试再次加入集群中,如果这时候通讯恢复了,则该节点会再次加入集群。如果机器被killed掉了,在该节点以老的名称再次启动后,还是会自动加入集群中的。如果我们把集群中的leader killed掉了,集群会在其余的节点中选择一个leader出来。



转载于:https://my.oschina.net/guol/blog/353846

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值