centos7上consul的集群安装

centos7上consul的安装

一 下载

下载文件 wget https://releases.hashicorp.com/consul/0.6.4/consul_0.6.4_linux_amd64.zip
unzip consul_0.6.4_linux_amd64.zip

拷贝到适当的位置

查看 consul -v

如果显示出版本表示没有问题。如果报错请重新下载,或者查看环境变量是否设置正确

二打开端口

有8300 8500 8301 如果使用webui 请到官网 下载文件

三 配置集群 (如果是单机测试 用consul agent -dev就行了配置一台机器就可以了)

官网上是建议server3个或以上 client不限数量

此处 server用2个

服务两台 : s1 192.168.1.81 s2 192.168.1.82

s1 执行以下命令

consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n1 -bind=192.168.1.81 -dc=dc1

s2命令

consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.1.82 -ui-dir ./dist -dc=dc1

-server 表示是server模式

-bootstrap-expect 2 表示是集群中有2台服务器 bootstrap该模式node可以指定自己作为leader ,如果是非leader可不加该参数

-data-dir /tmp/consul 目录

-node=n2 该服务器节点名

-bind=192.168.1.82 节点绑定的ip

-ui-dir ./dist  非必须 webui的路径 用web来管理consul

 -dc=dc1  集群的名称

执行 consul members

发现集群里并没有其他的服务器

把服务器加入集群

s1 上执行

consul join 192.168.1.82

如果失败 ,请看是否打开了8301端口

成功后 再次执行 consul members

会显示有2个服务器节点

Node Address Status Type Build Protocol DC

n1 192.168.1.81:8301 alive server 0.6.4 2 dc1

n1 192.168.1.82:8301 alive server 0.6.4 2 dc1

如果你已经熟悉了,可以是用json格式的配置文件来设置

consul leave 宣布离开集群

当2个server的时候,退出一个,会没有leader

当3个以上server的时候 退出一个,会在剩下的server中选出新的leader

s1 退出后重新加入 执行一下命令

consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.1.81 -ui-dir ./dist -dc=dc1

consul join 192.168.1.82

关于重启后 ,配置丢失的问题

我们打开n1和n2的/tmp/consul/raft/peers.json,将其内容统一修改为:

["192.168.1.81:8300","192.168.1.82:8300"]

然后重启n2,但加上-rejoin命令:

$ consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=192.168.1.82 -ui-dir ./dist -dc=dc1 -rejoin

参考文章 http://tonybai.com/2015/07/06/implement-distributed-services-registery-and-discovery-by-consul/

//查看版本
consul -v
posted @ 2016-05-09 14:35  过错  阅读(3411)  评论(0编辑  收藏  举报