zk api连接超时问题 org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for

遇到 org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for / 的问题
image

首先让我想到的是,zk所在服务器是开启了防火墙吗?确定防火墙没有开启后,继续从代码中查找问题,最后定位到ClientCnxn类中 SendThread线程中的startConnect() 方法。
image
从截图中可以看出,hosename为null,意味着addr.getHostName()获取hostname需要从InetAddress.getHostFromNameService(this, check)获取,这个获取hostname是非常耗时的,一般要20s左右
image
image
image

最后的解决方案:
在hosts文件中,增加一行
ip host
例如
192.168.6.100 192.168.6.100

如果是集群环境,可以多加几条ip和host

posted @   尐海爸爸  阅读(1551)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
· 【自荐】一款简洁、开源的在线白板工具 Drawnix
· 园子的第一款AI主题卫衣上架——"HELLO! HOW CAN I ASSIST YOU TODAY
点击右上角即可分享
微信分享提示