前言
经历:
最近在搭建zookeeper集群,基础是3台机器(尝试过ubuntu 17 和 Centos 7)。
一开始选择的是3台腾讯云服务器,每台机器在java环境配置正确的情况下,单机的情况都运行正常。
(java环境配置教程:http://www.cnblogs.com/toulanboy/p/8681204.html)
但是一旦尝试建立集群(也就是zoo.cfg包含3条服务器条目时),则相互连接失败。
报的第一个异常是:
BindException: Cannot assign requested address
尝试过的方案:
1. 关闭防火墙(解决失败)
2. 将外网IP换成内网IP(腾讯云提供的内网ip互相Ping不通)
本文博客地址:http://www.cnblogs.com/toulanboy/
最终解决方案:用物理机,且必须在同一局域网下
总结故障原因可能有2:
1. 腾讯云服务器底层有其他限制,导致zookeeper集群无法成功互相连接。
2. 集群的机器需要在同一局域网下。
以上是我这一周来的头疼总结。希望对你有帮助。