【Consul】consul注册中心的集群搭建

背景环境

consul3台主机集群配置
192.168.0.101
192.168.0.102
192.168.0.103
consul集群最少需要3台,

集群配置

1.下载consul包,进入consul目录下

创建cs-data数据目录
在这里插入图片描述

2.配置启动文件run.sh

内容可参考
1节点配置文件:

chmod 777 /home/soft/consul/consul
nohup /home/soft/consul/consul agent -server -ui -bootstrap-expect=2 -data-dir=/home/soft/consul/cs-data -node=consul1 -client=0.0.0.0 -bind=192.168.0.101 > /home/soft/consul/consul.log 2>&1 &
ps -ef |grep consul

2节点配置文件:

chmod 777 /home/soft/consul/consul
nohup /home/soft/consul/consul agent -server -ui -bootstrap-expect=2 -data-dir=/home/soft/consul/cs-data -node=consul2 -client=0.0.0.0 -bind=192.168.0.102 > /home/soft/consul/consul.log 2>&1 &
ps -ef |grep consul

3节点配置文件:

chmod 777 /home/soft/consul/consul
nohup /home/soft/consul/consul agent -server -ui -bootstrap-expect=2 -data-dir=/home/soft/consul/cs-data -node=consul3 -client=0.0.0.0 -bind=192.168.0.103 > /home/soft/consul/consul.log 2>&1 &
ps -ef |grep consul

几个地方注意下:
-bootstrap-expect=2 这个2是最小启动数,小于2就集群失效
-node=consul1 这个为节点名,2,3节点作出相应修改

3.启动

consul目录下文件赋权启动,consul和run.sh赋权即可,此处全部做了赋权

chmod -R 777 ./*

启动

./run.sh
[yyq@soft consul]$ ./run.sh
yyq     24591 24589  0 14:42 pts/1    00:00:00 /home/soft/consul/consul agent -server -ui -bootstrap-expect=2 -data-dir=/home/soft/consul/cs-data -node=consul1 -client=0.0.0.0 -bind=192.168.0.101
yyq     24593 24589  0 14:42 pts/1    00:00:00 grep consul
[yyq@soft consul]$ 
4.配置集群

开放节点1,2,3的8300、8301、8302端口

/sbin/iptables -I INPUT -p tcp --dport 8300 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8301 -j ACCEPT
/sbin/iptables -I INPUT -p tcp --dport 8302 -j ACCEPT

2,3节点分别执行以下命令加入到集群

./consul join 192.168.0.101

此处如果不开放端口会报以下两个错误

1.Failed to join 192.168.0.101
[yyq@soft consul]$ ./consul join 192.168.0.101
Error joining address '192.168.0.101': Unexpected response code: 500 (1 error(s) occurred:

* Failed to join 192.168.0.101: dial tcp 192.168.0.101:8301: i/o timeout)
Failed to join any nodes.

这个其实是1节点的8301端口没有开放导致,用root用户开放下端口即可

2. agent: Coordinate update error: rpc error getting client: failed to get conn: dial tcp

这个错误是没有开放8300端口

2020/11/06 01:09:50 [ERR] agent: Coordinate update error: rpc error getting client: failed to get conn: dial tcp 192.168.0.102:0->192.168.0.101:8300: connect: no route to host
3.Push/Pull with consul1.dc1 failed: dial tcp
2020/11/06 01:16:10 [ERR] memberlist: Push/Pull with consul1.dc1 failed: dial tcp 192.168.0.101:8302: connect: no route to host
5.测试

以下命令测试启动情况

./consul members
[yyq@soft consul]$ ./consul members
Node     Address             Status  Type    Build  Protocol  DC   Segment
consul1  192.168.0.101:8301  alive   server  1.4.2  2         dc1  <all>
consul2  192.168.0.102:8301  alive   server  1.4.2  2         dc1  <all>
consul3  192.168.0.103:8301  alive   server  1.4.2  2         dc1  <all>
[yyq@soft consul]$ 

查杀1节点后,情况如下

[yyq@soft consul]$ ./consul members
Node     Address             Status  Type    Build  Protocol  DC   Segment
consul1  192.168.0.101:8301  left    server  1.4.2  2         dc1  <all>
consul2  192.168.0.102:8301  alive   server  1.4.2  2         dc1  <all>
consul3  192.168.0.103:8301  alive   server  1.4.2  2         dc1  <all>
5.输入地址访问:

http://192.168.0.101:8500
访问 即可看到consul已经有三个端口了
在这里插入图片描述

常见问题

参考:
搭建consul 集群

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

实施工程师木易

感谢支持

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值