2013-04-05 67 views
4

我最近與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:[email protected]] - 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:[email protected]] - Send worker leaving thread 

2013-04-05 21:47:58,363 [myid:2] - WARN [RecvWorker:3:[email protected]] - 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) 

但我不知道我做錯了通用電氣公司這個。我的目標是在不同的機器上同步我的動物園管理員,以獲得始終可用的服務。我去了zookeeper.apache.org WebPäge,查找關於如何配置和啓動我的動物園管理員的相同信息,但是我採用了與之前相同的步驟。

如果有人可以幫助我,我會真的appretiate它。提前致謝。

回答

5

我將需要遵循一些嚴格的步驟來實現這一目標,但最終做到了。如果有人面臨同樣的問題,爲了使動物園管理員保持聯繫,請記住:

您需要3個zookeeper服務器運行(本地或通過網絡),這是實現同步的最小數量。在每個服務器中,需要創建一個名爲「myid」(位於zookeeper文件夾內)的文件,每個myid文件的內容必須是一個連續編號,例如,我有三個zookeeper服務器(文件夾),所以我有一個本身份識別碼與內容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 

的zoo.cfg從每個服務器變化到另一個,在我的情況下,因爲我在本地測試,我需要更改端口和dataDir。

之後,excutes的:

./zkServer.sh start 

也許有些異常會出現,但是那是因爲至少有兩個飼養員必須是同步的,當你開始至少2飼養員,異常應消失。

此致敬禮。