本篇幅主要还是根据自己在Consul实战中所遇到的问题进行的记录,当然相信问题可能不止于此,如果大家有遇到其它问题欢迎在下方留言,后续会进行汇总整理。
推荐技术博客: Node.js技术栈
Consul Agent 启动报错
$ consul agent -dev -config-dir /etc/consul.d
<span style="color:red">
==> Starting Consul agent...
==> Error starting agent: Failed to start Consul server: Failed to start RPC layer: listen tcp 127.0.0.1:8300: bind: address already in use
</span>
这个地址已经在使用了,说明你已经启动了。
命令ps -ef | grep consul
查看使用情况
$ ps -ef | grep consul
root 16140 1 0 Jan20 ? 09:22:26 consul agent -dev
root 21018 19751 0 16:45 pts/0 00:00:00 grep --color=auto consul
如果想要关闭,执行命令kill -9 consul_pid
强制杀死进程,第一个元素(上面的16140)就是进程id
查看集群成员报错
$ consul members
Error retrieving members: Get http://127.0.0.1:8500/v1/agent/members?segment=_all: dial tcp 127.0.0.1:8500: connect: connection refused
原因是由于在启动Consul时候绑定了IP地址,而默认的为127.0.0.1:8500,解决办法其实就是进行显示绑定,看以下用法:
$ consul members --http-addr 192.168.6.128:8500
Node Address Status Type Build Protocol DC Segment
consul_1 192.168.6.128:8301 alive server 1.4.0 2 consul_cluster <all>
关于开启Consul Web可视化界面的一些问题
这是最简单快速的启动方式,在启动consul时直接启动webui界面,跟上-ui参数参考以下示例,端口默认为8500
consul agent -server -bootstrap -ui -data-dir=/data/soft/consul_1.4/consul-data -bind=0.0.0.0 -client=0.0.0.0 -node=120.27.239.212
如果阿里云或其他云厂商服务器,在开启了Web 可视化界面之后,但是浏览器输入 http://127.0.0.1:8500/ui 无法访问,可能是链接被拒等情况,如果使用阿里云请注意安全组是否开启。
如上所述,为阿里云服务器在安全组规则里做以上设置开启端口。