Consul服务发现(1)

安装
  1. 下载地址:https://www.consul.io/downloads(官网)
  2. 下载命令(CentOS):
sudo yum install -y yum-utils
sudo yum-config-manager --add-repo https://rpm.releases.hashicorp.com/RHEL/hashicorp.repo
sudo yum -y install consul
使用分布式
前提

3台虚拟机,c1,c2,c3。其中c1,c2作服务端,c3作客户端。

c1中

输入命令:

// 其中c1ip为虚拟机的ip地址, comip为共享ip
consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n1 -bind=c1ip -ui -config-dir /etc/consul.d -rejoin -join comip -client 0.0.0.0

其中:

  • -server:定义agent运行在server模式
  • -bootstrap-expect:在一个datacenter中期望提供的server节点的数目,当该值提供时,consul一直等到达到制定server数目的时候才会引导整个集群,该标记不可以和bootstrap共用
  • -data-dir:提供一个目录来存放agent的状态,所有的agent许可都需要该目录,该目录必须是稳定的,系统重启后应当继续存在。
  • -node:节点在集群中的名称,在一个集群中必须是唯一的,默认是该节点的主机名
  • -bind:该地址用来在集群内部的通讯,集群内的所有节点到地址都必须是可达的,默认是0.0.0.0
  • -ui:启动Web界面
  • -config-dir:配置文件目录,里面所有以.json结尾的文件都会被加载
  • -rejoin:使consul忽略先前的离开,再次启动后仍旧尝试加入集群中
  • -client:consul服务侦听地址,这个地址提供HTTP、DNS、RPC等服务,默认是127.0.0.1,所以不对外提供服务。对外服务需改成0.0.0.0
c2中

输入命令:

c2ip为虚拟机c2的ip,comip为共享ip
consul agent -server -bootstrap-expect 2 -data-dir /tmp/consul -node=n2 -bind=c2ip -ui  -rejoin -join comip
c3中

输入命令:

// c3ip为虚拟机c3的ip,comip为共享ip
consul agent -data-dir /tmp/consul -node n3 -bind=c3ip -config-dir /etc/consul.d -rejoin -join comip
  • 可以通过comip:8500访问web界面,来查看服务状况。
  • 可以通过命令consul members查看consul集群的成员
  • 可以通过命令consul leave优雅地退出集群
可能会出现的问题:

Failed to join 192.168.125.118:dial tcp 192.168.125.118:8301:connect:no route to host,即comip所在的机器防火墙阻隔了链接。除这个外,还需要将8300端口(用于通信),8500端口(WebUI),64058端口(内部方法调用)用以下命令都打开。
解决方法:

//不同防火墙 命令不同 仅供参考
firewall-cmd --zone=public --add-port=8301/tcp --permanent
firewall-cmd --zone=public --add-port=8300/tcp --permanent
firewall-cmd --zone=public --add-port=8500/tcp --permanent
firewall-cmd --zone=public --add-port=64058/tcp --permanent
firewall-cmd --reload    /*必须添加,否则重启之后会失效*/
// iptables防火墙修改/etc/sysconfig/iptables文件
-A INPUT -m state --state NEW -m tcp -p tcp --dport 8301-j ACCEPT
service iptables restart或者systemctl restart iptables
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值