Mar*_*aje 6 java sockets configuration apache-zookeeper
我最近一直在与zookeeper合作,以满足分布式应用程序的可靠性要求.我正在使用三台计算机,我遵循了本教程:
http://sanjivblogs.blogspot.ie/2011/04/deploying-zookeeper-ensemble.html
我一步一步地确保我做得很好,但是现在当我用动物园开始我的动物园管理员时
./zkServer.sh start
我正在为所有计算机获取这些例外:
2013-04-05 21:46:58,995 [myid:2] - WARN [SendWorker:1:QuorumCnxManager$SendWorker@679] - Interrupted while waiting for message on queue
java.lang.InterruptedException
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.reportInterruptAfterWait(AbstractQueuedSynchronizer.java:1961)
at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.awaitNanos(AbstractQueuedSynchronizer.java:2038)
at java.util.concurrent.ArrayBlockingQueue.poll(ArrayBlockingQueue.java:342)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.pollSendQueue(QuorumCnxManager.java:831)
at org.apache.zookeeper.server.quorum.QuorumCnxManager.access$500(QuorumCnxManager.java:62)
at org.apache.zookeeper.server.quorum.QuorumCnxManager$SendWorker.run(QuorumCnxManager.java:667)
2013-04-05 21:46:58,995 [myid:2] - WARN [SendWorker:1:QuorumCnxManager$SendWorker@688] - Send worker leaving thread
2013-04-05 21:47:58,363 [myid:2] - WARN [RecvWorker:3:QuorumCnxManager$RecvWorker@762] - Connection broken for id 3, my id = 2, error =
java.io.EOFException
at java.io.DataInputStream.readInt(DataInputStream.java:375)
at org.apache.zookeeper.server.quorum.QuorumCnxManager$RecvWorker.run(QuorumCnxManager.java:747)
Run Code Online (Sandbox Code Playgroud)
但是我不知道我做错了什么.我的目标是在不同的机器中同步我的动物园管理员,以获得始终可用的服务.我去了zookeeper.apache.orgWebPäge并查找有关如何配置和启动zookeeper的相同信息,但是我采用的步骤与之前相同.
如果有人可以帮助我,那我真的很乐意.提前致谢.
我需要遵循一些严格的步骤来实现这一目标,但最终还是做到了.如果有人面临同样的问题,为了让动物园管理员服从,请记住:
您需要运行3个zookeeper服务器(本地或通过网络),这是实现同步的最小数量.在每个服务器中,需要创建一个名为"myid"的文件(在zookeeper文件夹中),每个myid文件的内容必须是一个序列号,例如,我有三个zookeeper服务器(文件夹),所以我有一个myid包含内容1,其他包含内容2,其他包含内容3.
然后在zoo.cfg中有必要建立所需的参数:
tickTime=2000
#dataDir=/var/lib/zookeeper
dataDir=/home/mtataje/var/zookeeper1
clientPort=2184
initLimit=10
syncLimit=20
server.1=192.168.3.41:2888:3888
server.2=192.168.3.41:2889:3889
server.3=192.168.3.41:2995:2999
Run Code Online (Sandbox Code Playgroud)
zoo.cfg因服务器而异,因为我在本地测试,我需要更改端口和dataDir.
之后,请原谅:
./zkServer.sh start
Run Code Online (Sandbox Code Playgroud)
也许会出现一些例外,但这是因为至少有两个动物园管理员必须同步,当你开始至少2名动物园管理员时,异常应该消失.
最好的祝福.
| 归档时间: |
|
| 查看次数: |
6389 次 |
| 最近记录: |