gpt4 book ai didi

java - 连接时 Zookeeper java.net.NoRouteToHostException

转载 作者:太空狗 更新时间:2023-10-29 11:19:20 26 4
gpt4 key购买 nike

提前为此处的数据转储道歉。我有两台安装了 Zookeeper 的服务器。我想将它们作为一个整体运行。这是我的 zoo.cfg 中的内容。

tickTime=2000
initLimit=10
syncLimit=5
dataDir=/opt/zookeeper/data
server.1=solr1:2888:3888
server.2=solr2:2888:3888
clientPort=2181

两个服务器都有一个 myid 文件。他们的名字在/etc/hosts 文件中,所以他们肯定可以看到对方。当我使用 zkServer.sh 启动它们中的任何一个时,它说 zookeeper 已启动。但是,当我运行“zkServer.sh status”时,我看到这条消息:

Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Error contacting service. It is probably not running.

但是 zookeeper java 进程似乎正在运行并且使用 netstat 显示 tcp 端口 3888 和 2181 正在监听。当我尝试使用“sh zkCli.sh -server localhost:2181”连接到服务器时,我看到了一堆环境信息,然后是一大堆这些日志条目:

2014-02-03 15:39:00,623 [myid:] - INFO [main-SendThread(localhost.localdomain:2181):ClientCnxn$SendThread@966] - Opening socket connection to server localhost.localdomain/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
2014-02-03 15:39:00,646 [myid:] - INFO [main-SendThread(localhost.localdomain:2181):ClientCnxn$SendThread@849] - Socket connection established to localhost.localdomain/127.0.0.1:2181, initiating session
JLine support is enable
2014-02-03 15:39:00,662 [myid:] - INFO [main-SendThread(localhost.localdomain:2181):ClientCnxn$SendThread@1085] - Unable to read additional data from server sessionid 0x0, likely server has closed socket, closing socket connection and attempting reconnect

如果我尝试连接到另一台服务器 (sh zkCli.sh -server solr1:2181),我会看到这些:

2014-02-03 15:40:42,390 [myid:] - WARN  [main-SendThread(solr1:2181):ClientCnxn$SendThread@1089] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.NoRouteToHostException: No route to host

Zookeeper 似乎正在运行,尽管 zkServer.sh 状态另有说明。但是有人对我的连接问题有任何了解吗?操作系统是 RHEL 6.4,64 位。

最佳答案

啊哈,我现在刚解决了同样的问题,操作系统是Centos7。我检查了所有的配置文件,但无能为力。最后,我修改了 iptable 添加这样的端口:2181,2888,3888,然后重启 zookeeper 服务器,就可以了。其中一个 cmd 是这样的: firewall-cmd --zone=public --add-port=2181/udp --add-port=2181/tcp --permanent然后搬迁: 防火墙-cmd --reload当然,您可以关闭iptables 并禁止iptables 在启动OS 时加载来实现此目的。 另外,你应该检查你的数据路径中是否有一个“myid”文件:dataDir=/opt/zookeeper/data,它的所有者应该是“username:groupUsername”; 愿它对您也有帮助。

关于java - 连接时 Zookeeper java.net.NoRouteToHostException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21537792/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com