Zookeeper 连接时出现异常错误

brtdzjyr  于 2022-12-09  发布在  Apache
关注(0)|答案(3)|浏览(444)

在此为数据转储提前道歉。我有两个安装了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文件中,因此它们肯定可以看到对方。当我使用www.example.com启动其中一个服务器时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 solr 1: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位。

33qvvth1

33qvvth11#

原来是这个问题,我刚刚解决了,操作系统是Centos7,我检查了所有的配置文件,但是没有任何帮助。最后,我修改了iptable,添加了这样的端口:2181,2888,3888,然后重新启动zookeeper服务器,它的工作.其中一个命令是这样的:防火墙-cmd--区域=公共--添加端口=2181/udp --添加端口=2181/tcp --永久,然后重新加载:firewall-cmd --reload当然,你可以关闭iptables,并禁止iptables在启动操作系统时加载来实现这一点。其他更多,你应该检查是否有一个“myid”文件在你的数据路径:dataDir=/opt/zookeeper/data和它的所有者应该是“username:groupUsername”;愿它也能帮助你。

g6baxovj

g6baxovj2#

我可能不是一个Maven的zookeeper,但我已经安装了zookeeper在合奏模式的4机集群上的RedHat.我有同样的问题,我累了所有可用的stackoverflow,尝试后,我所做的一切是 * 关闭iptables和防火墙上的所有机器,但仍然有错误,经过几个想法,我累了 * 启用密码所有机器少ssh,这解决了我的问题,现在我的zookeper的启动和运行在所有4台机器上

0tdrvxhp

0tdrvxhp3#

禁用iptables后问题解决

相关问题