2013-04-05 1 views
4

저는 최근에 분산 응용 프로그램의 안정성에 대한 요구 사항을 충족시키기 위해 사육사와 협력 해 왔습니다. 나는 3 컴퓨터를 사용하고있어 나는이 튜토리얼을 따라 :Zookeeper Network Ensemble이 적절하게 시작되지 않습니다.

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) 

하지만 내가 GE에 잘못 뭐하는 거지 모르겠어요

내 모든 컴퓨터에 대해 이러한 예외를 받고 있어요 이거. 내 목표는 다른 동물들과 사육자를 동기화시켜 항상 가능한 서비스를 얻는 것입니다. 나는 zookeeper.apache.org Web Päge에 갔고, 나의 사육사를 구성하고 시작하는 방법에 관한 동일한 정보를 찾는다. 그러나 나는 전에 따라 갔던 같은 단계 다.

누군가 제가 제발 저를 도울 수 있다면 저는 정말로 그것을 호소 할 것입니다. 미리 감사드립니다.

답변

5

나는이를 달성하기 위해 몇 가지 엄격한 단계를 따라야하지만 마침내 완료해야합니다. 어떤 사람이 같은 문제를 겪고있는 경우, 사육사를 앙상블로 만들려면 다음을 기억하십시오.

(로컬 또는 네트워크를 통해) 실행중인 3 개의 사육사 서버가 필요합니다. 동기화를 수행하기위한 최소 숫자입니다. 각 서버에서 "myid"라는 파일 (사육사 폴더 안에 있음)을 만들 필요가 있습니다. 각 myid 파일의 내용은 순차적 번호 여야합니다. 예를 들어, 나는 3 마리의 사육사 서버 (폴더)를 가지고 있기 때문에

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은 각 서버에서 다릅니다 것이 필요하다 zoo.cfg 3에

그런 콘텐츠 내용 2 기타 다른 콘텐츠 1 대한 myid는 파라미터가 필요하기 stablish 내 경우에는 로컬에서 테스트했기 때문에 포트와 데이터를 변경해야했습니다.

는 그 후, 실행하고있을 :

./zkServer.sh start 

어쩌면 몇 가지 예외가 나타납니다,하지만 적어도 두 사육사가 동기화해야하기 때문에 최소한 2 사육사를 시작할 때입니다, 예외가 사라해야합니다.

감사합니다.