阿里ECS服务器安装 zookeeper 集群:Cannot open channel to 1 at election address 问题解决。

在阿里的ECS服务器上装ZK集群,各项配置弄好之后,zkServer.sh start 启动zk集群,jps查看zk进程,一切正常
在这里插入图片描述

然后执行zk状态查询命令: zkServer.sh status,却得到:
在这里插入图片描述

查看zk的日志,如果你没有配置zk的日志定向输出的话,日志一般在你执行启动命令的目录。
vim zookeeper.out 打开日志文件,报出这样的错:
在这里插入图片描述
在网上查了一圈,都说是防火墙和端口的问题,可是我的阿里的ECS服务器安全配置组的zk的几个端口都是打开的,百思不得其解,终于在多次尝试之后发现了问题。

打开zk的配置文件zoo.conf,一般网上的说的配置为

server.1=ip1:port1:port:2
server.2=ip2:port1:port:2
server.3=ip3:port1:port:2
...

但是在阿里的云服务器上,通过自己的公网ip,是不能监听自己本机的端口的。比如上面三台服务器中,本机的配置项为第一条:

server.1=ip1:port1:port2

如果公网ip为:10.10.203.22 ,那么就为:

server.1=10.10.203.22:2888:3888

如果以这种方式来配置本机的信息,是无法监听到本机2888和3888这两个端口的,所以导致别的机子上的zk启动之后无法与本机通讯,本机也无法与集群中其他的机子进行通讯,所以报出了这个连接失败的错误。

解决问题,修改本机的配置信息
将本机的ip改为0.0.0.0,通过这个ip来监听本机的这两个端口。

server.1=0.0.0.0:2888:3888

如果本机端口监听在0.0.0.0上,那么其他服务器通过本机的公网ip则可以连接到本机的该端口,但是如果通过本机的公网ip监听,那么是无法打开想要被监听的端口的。

学习,是一个永不停止的过程。

  • 8
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值