前言

经历:

最近在搭建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. 集群的机器需要在同一局域网下。

以上是我这一周来的头疼总结。希望对你有帮助。

05-28 18:42