docker连接Zookeeper的坑~

昨天的项目上发现了一个zookeeper的连接问题,服务是在docker上部署运行的,管理redis集群的codis使用zookeeper来管理,服务实例化时,添加codis-proxy卡住,超时后自动重启。

zookeeper日志报错如下:

WARN  [NIOServerCxn.Factory:0.0.0.0/0.0.0.0:2181:NIOServerCnxn@357] - caught end of stream exception

EndOfStreamException: Unable to read additional data from client sessionid 0x36219a87ed50024, likely client has closed socket。

zookeeper为3台服务器的集群,集群状态(zkServer.sh status)正常,使用zookeeper的客户端zkClient.sh连接正常。

1、zookeeper服务端版本3.4.10,与服务中的jar(3.4.8)版本不一致,降低zookeeper版本至3.4.8,问题未解决;

2、修改zookeeper的ticketTime,问题未解决;

3、修改zookeeper集群中的server-id的配置方式,本机改为0.0.0.0,问题未解决;

怀疑docker中的服务无法直接访问物理机上的zookeeper,可能要加一层服务做代理,但是代理无法进行zookeeper的集群配置,只能通过负载的方式,果断放弃。

无意间发现docker启动时限制了内存大小——1G,去掉此限制,连接正常,问题解决。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值