Java Zookeeper集合不响应客户端?

Java Zookeeper集合不响应客户端?,java,tomcat,solr,apache-zookeeper,solr4,Java,Tomcat,Solr,Apache Zookeeper,Solr4,我是Zookeeper的新手,在我的系统中使用Zookeeper集成设置Solr云,当我尝试同时运行所有Zookeeper时,问题出现了,有三个Zookeeper运行在三个单独的端口上,并将它们指向安装在Apache Tomcat服务器上的Solr。配置文件如下所示:- zoo1.cfg tickTime=2000 dataDir=/Users/prime/Desktop/Deployment Docs/Zookeeper/data clientPort=2181 initLimit=5 syn

我是Zookeeper的新手,在我的系统中使用Zookeeper集成设置Solr云,当我尝试同时运行所有Zookeeper时,问题出现了,有三个Zookeeper运行在三个单独的端口上,并将它们指向安装在Apache Tomcat服务器上的Solr。配置文件如下所示:-

zoo1.cfg

tickTime=2000
dataDir=/Users/prime/Desktop/Deployment Docs/Zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=localhost:8002:3888
server.2=localhost:8005:3889
server.3=localhost:8008:3890
tickTime=2000
dataDir=/Users/prime/Desktop/Deployment Docs/Zookeeper/data
clientPort=2182
initLimit=5
syncLimit=2
server.1=localhost:8002:3888
server.2=localhost:8005:3889
server.3=localhost:8008:3890
tickTime=2000
dataDir=/Users/prime/Desktop/Deployment Docs/Zookeeper/data
clientPort=2183
initLimit=5
syncLimit=2
server.1=localhost:8002:3888
server.2=localhost:8005:3889
server.3=localhost:8008:3890
zoo2.cfg

tickTime=2000
dataDir=/Users/prime/Desktop/Deployment Docs/Zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=localhost:8002:3888
server.2=localhost:8005:3889
server.3=localhost:8008:3890
tickTime=2000
dataDir=/Users/prime/Desktop/Deployment Docs/Zookeeper/data
clientPort=2182
initLimit=5
syncLimit=2
server.1=localhost:8002:3888
server.2=localhost:8005:3889
server.3=localhost:8008:3890
tickTime=2000
dataDir=/Users/prime/Desktop/Deployment Docs/Zookeeper/data
clientPort=2183
initLimit=5
syncLimit=2
server.1=localhost:8002:3888
server.2=localhost:8005:3889
server.3=localhost:8008:3890
zoo3.cfg

tickTime=2000
dataDir=/Users/prime/Desktop/Deployment Docs/Zookeeper/data
clientPort=2181
initLimit=5
syncLimit=2
server.1=localhost:8002:3888
server.2=localhost:8005:3889
server.3=localhost:8008:3890
tickTime=2000
dataDir=/Users/prime/Desktop/Deployment Docs/Zookeeper/data
clientPort=2182
initLimit=5
syncLimit=2
server.1=localhost:8002:3888
server.2=localhost:8005:3889
server.3=localhost:8008:3890
tickTime=2000
dataDir=/Users/prime/Desktop/Deployment Docs/Zookeeper/data
clientPort=2183
initLimit=5
syncLimit=2
server.1=localhost:8002:3888
server.2=localhost:8005:3889
server.3=localhost:8008:3890
之后,当我尝试连接2181的服务器时。使用
/zkCli
会产生以下错误:-

sh-3.2#./zkCli.sh 
Connecting to localhost:2181
2014-01-24 20:09:49,594 [myid:] - INFO  [main:Environment@100] - Client environment:zookeeper.version=3.4.5-1392090, built on 09/30/2012 17:52 GMT
2014-01-24 20:09:49,599 [myid:] - INFO  [main:Environment@100] - Client environment:host.name=172.16.217.13
2014-01-24 20:09:49,600 [myid:] - INFO  [main:Environment@100] - Client environment:java.version=1.7.0_17
2014-01-24 20:09:49,600 [myid:] - INFO  [main:Environment@100] - Client environment:java.vendor=Oracle Corporation
2014-01-24 20:09:49,601 [myid:] - INFO  [main:Environment@100] - Client environment:java.home=/Library/Java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/Home/jre
2014-01-24 20:09:49,601 [myid:] - INFO  [main:Environment@100] - Client environment:java.class.path=/opt/zookeeper-3.4.5/bin/../build/classes:/opt/zookeeper-3.4.5/bin/../build/lib/*.jar:/opt/zookeeper-3.4.5/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/zookeeper-3.4.5/bin/../lib/slf4j-api-1.6.1.jar:/opt/zookeeper-3.4.5/bin/../lib/netty-3.2.2.Final.jar:/opt/zookeeper-3.4.5/bin/../lib/log4j-1.2.15.jar:/opt/zookeeper-3.4.5/bin/../lib/jline-0.9.94.jar:/opt/zookeeper-3.4.5/bin/../zookeeper-3.4.5.jar:/opt/zookeeper-3.4.5/bin/../src/java/lib/*.jar:/opt/zookeeper-3.4.5/bin/../conf:
2014-01-24 20:09:49,602 [myid:] - INFO  [main:Environment@100] - Client environment:java.library.path=/Users/prime/Library/Java/Extensions:/Library/Java/Extensions:/Network/Library/Java/Extensions:/System/Library/Java/Extensions:/usr/lib/java:.
2014-01-24 20:09:49,602 [myid:] - INFO  [main:Environment@100] - Client environment:java.io.tmpdir=/var/folders/vn/7793lhcn73db6jyy3fzvwv240000gn/T/
2014-01-24 20:09:49,602 [myid:] - INFO  [main:Environment@100] - Client environment:java.compiler=<NA>
2014-01-24 20:09:49,603 [myid:] - INFO  [main:Environment@100] - Client environment:os.name=Mac OS X
2014-01-24 20:09:49,603 [myid:] - INFO  [main:Environment@100] - Client environment:os.arch=x86_64
2014-01-24 20:09:49,604 [myid:] - INFO  [main:Environment@100] - Client environment:os.version=10.8.5
2014-01-24 20:09:49,604 [myid:] - INFO  [main:Environment@100] - Client environment:user.name=prime
2014-01-24 20:09:49,605 [myid:] - INFO  [main:Environment@100] - Client environment:user.home=/Users/prime
2014-01-24 20:09:49,605 [myid:] - INFO  [main:Environment@100] - Client environment:user.dir=/opt/zookeeper-3.4.5/bin
2014-01-24 20:09:49,607 [myid:] - INFO  [main:ZooKeeper@438] - Initiating client connection, connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@7d25e791
Welcome to ZooKeeper!
JLine support is enabled
[zk: localhost:2181(CONNECTING) 0] 2014-01-24 20:09:54,634 [myid:] - INFO  [main-SendThread(fe80:0:0:0:0:0:0:1%1:2181):ClientCnxn$SendThread@966] - Opening socket connection to server fe80:0:0:0:0:0:0:1%1/fe80:0:0:0:0:0:0:1%1:2181. Will not attempt to authenticate using SASL (unknown error)
2014-01-24 20:09:54,642 [myid:] - WARN  [main-SendThread(fe80:0:0:0:0:0:0:1%1:2181):ClientCnxn$SendThread@1089] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:692)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
2014-01-24 20:09:54,748 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@966] - Opening socket connection to server localhost/127.0.0.1:2181. Will not attempt to authenticate using SASL (unknown error)
2014-01-24 20:09:54,749 [myid:] - WARN  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1089] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:692)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
2014-01-24 20:09:54,852 [myid:] - INFO  [main-SendThread(localhost:2181):ClientCnxn$SendThread@966] - Opening socket connection to server localhost/0:0:0:0:0:0:0:1:2181. Will not attempt to authenticate using SASL (unknown error)
2014-01-24 20:09:54,854 [myid:] - WARN  [main-SendThread(localhost:2181):ClientCnxn$SendThread@1089] - Session 0x0 for server null, unexpected error, closing socket connection and attempting reconnect
java.net.ConnectException: Connection refused
    at sun.nio.ch.SocketChannelImpl.checkConnect(Native Method)
    at sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:692)
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
sh-3.2#/zkCli.sh
正在连接到本地主机:2181
2014-01-24 20:09:49594[myid:]-信息[main:Environment@100]-客户端环境:zookeeper.version=3.4.5-1392090,构建于2012年9月30日17:52 GMT
2014-01-24 20:09:49599[myid:]-信息[main:Environment@100]-客户端环境:host.name=172.16.217.13
2014-01-24 20:09:49600[myid:]-信息[main:Environment@100]-客户端环境:java.version=1.7.0_17
2014-01-24 20:09:49600[myid:]-信息[main:Environment@100]-客户端环境:java.vendor=Oracle Corporation
2014-01-24 20:09:49601[myid:]-信息[main:Environment@100]-客户端环境:java.home=/Library/java/JavaVirtualMachines/jdk1.7.0_17.jdk/Contents/home/jre
2014-01-24 20:09:49601[myid:]-信息[main:Environment@100]-客户环境:java.class.path=/opt/zookeeper-3.4.5/bin/。/build/classes:/opt/zookeeper-3.4.5/bin/。/build/lib/*.jar:/opt/zookeeper-3.4.5/bin/。/lib/slf4j-log4j12-1.6.1.jar:/opt/zookeeper-3.4.5/bin/。/lib/netty-3.2.2.Final.jar:/opt/zookeeper-3.4.5/lib/zookeeper-4.5/bin/。/4.5/zookeeper-4.5/bin/。/4.jar/../lib/jline-0.9.94.jar:/opt/zookeeper-3.4.5/bin/。/zookeeper-3.4.5.jar:/opt/zookeeper-3.4.5/bin/。/src/java/lib/*.jar:/opt/zookeeper-3.4.5/bin/。/conf:
2014-01-24 20:09:49602[myid:]-信息[main:Environment@100]-客户端环境:java.library.path=/Users/prime/library/java/Extensions:/library/java/Extensions:/Network/library/java/Extensions:/System/library/java/Extensions:/usr/lib/java:。
2014-01-24 20:09:49602[myid:]-信息[main:Environment@100]-客户端环境:java.io.tmpdir=/var/folders/vn/7793lhcn73db6jyy3fzvwv240000gn/T/
2014-01-24 20:09:49602[myid:]-信息[main:Environment@100]-客户端环境:java.compiler=
2014-01-24 20:09:49603[myid:]-信息[main:Environment@100]-客户端环境:os.name=Mac os X
2014-01-24 20:09:49603[myid:]-信息[main:Environment@100]-客户端环境:os.arch=x86_64
2014-01-24 20:09:49604[myid:]-信息[main:Environment@100]-客户端环境:os.version=10.8.5
2014-01-24 20:09:49604[myid:]-信息[main:Environment@100]-客户端环境:user.name=prime
2014-01-24 20:09:49605[myid:]-信息[main:Environment@100]-客户端环境:user.home=/Users/prime
2014-01-24 20:09:49605[myid:]-信息[main:Environment@100]-客户端环境:user.dir=/opt/zookeeper-3.4.5/bin
2014-01-24 20:09:49607[myid:]-信息[main:ZooKeeper@438]-启动客户端连接,connectString=localhost:2181 sessionTimeout=30000 watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@7d25e791
欢迎来到动物园管理员!
JLine支持已启用
[zk:localhost:2181(连接)0]2014-01-24 20:09:54634[myid:]-INFO[主发送线程(fe80:0:0:0:0:1%1:2181):客户端CNXN$SendThread@966]-正在打开与服务器fe80:0:0:0:0:0:0:1%1/fe80:0:0:0:0:0:1%1:2181的套接字连接。不会尝试使用SASL进行身份验证(未知错误)
2014-01-24 20:09:54642[myid:]-警告[主发送线程(fe80:0:0:0:0:0:1%1:2181):客户端CNXN$SendThread@1089]-服务器为空的会话0x0,出现意外错误,正在关闭套接字连接并尝试重新连接
java.net.ConnectException:连接被拒绝
在sun.nio.ch.socketchannel.checkConnect(本机方法)
位于sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:692)
位于org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
位于org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
2014-01-24 20:09:54748[myid:]-INFO[主发送线程(本地主机:2181):客户端CNXN$SendThread@966]-打开到服务器localhost/127.0.0.1:2181的套接字连接。不会尝试使用SASL进行身份验证(未知错误)
2014-01-24 20:09:54749[myid:]-警告[主发送线程(本地主机:2181):客户端CNXN$SendThread@1089]-服务器为空的会话0x0,出现意外错误,正在关闭套接字连接并尝试重新连接
java.net.ConnectException:连接被拒绝
在sun.nio.ch.socketchannel.checkConnect(本机方法)
位于sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:692)
位于org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
位于org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)
2014-01-24 20:09:54852[myid:]-INFO[主发送线程(本地主机:2181):客户端CNXN$SendThread@966]-打开到服务器localhost/0:0:0:0:0:0:0:1:2181的套接字连接。不会尝试使用SASL进行身份验证(未知错误)
2014-01-24 20:09:54854[myid:]-警告[主发送线程(本地主机:2181):客户端CNXN$SendThread@1089]-服务器为空的会话0x0,出现意外错误,正在关闭套接字连接并尝试重新连接
java.net.ConnectException:连接被拒绝
在sun.nio.ch.socketchannel.checkConnect(本机方法)
位于sun.nio.ch.SocketChannelImpl.finishConnect(SocketChannelImpl.java:692)
位于org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:350)
位于org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1068)

我的问题是出了什么问题,以及如何解决这个问题。因为我无论如何都无法纠正它。

首先,每个zookeeper实例都应该有单独的数据目录。在数据目录中创建一个名为myid的文件。在这些文件中,仅写入1、2或3,具体取决于服务器(e