2012-07-16 14 views
15

Üç tane zookeeper düğümüm var. Tüm limanlar açık. IP adresi doğru. Aşağıda benim config dosyası. Şef tarafından başlatılan tüm düğümlerin hepsi aynı yükleme ve yapılandırma dosyasına sahip.Zookeeper - üç düğüm ve hatadan başka bir şey yok

# The number of milliseconds of each tick 
tickTime=3000 
# The number of ticks that the initial 
# synchronization phase can take 
initLimit=10 
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement 
syncLimit=5 
# the directory where the snapshot is stored. 
dataDir=/var/lib/zookeeper 
# Place the dataLogDir to a separate physical disc for better performance 
# dataLogDir=/disk2/zookeeper 

# the port at which the clients will connect 
clientPort=2181 

server.1=111.111.111:2888:3888 
server.2=111.111.112:2888:3888 
server.3=111.111.113:2888:3888 

Düğümlerden biri için hata İşte. Yani ... yapılandırma oldukça vanilya beri bir hata nasıl alabilirim hakkında oldukça kafam karıştı. Her üç düğüm de aynı şeyi yapıyor.

2012-07-16 05:16:57,558 - INFO [main:[email protected]] - Reading configuration from: /etc/zookeeper/conf/zoo.cfg 
2012-07-16 05:16:57,567 - INFO [main:[email protected]] - Defaulting to majority quorums 
2012-07-16 05:16:57,572 - FATAL [main:[email protected]83] - Invalid config, exiting abnormally 
org.apache.zookeeper.server.quorum.QuorumPeerConfig$ConfigException: Error processing /etc/zookeeper/conf/zoo.cfg 
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:110) 
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.initializeAndRun(QuorumPeerMain.java:99) 
    at org.apache.zookeeper.server.quorum.QuorumPeerMain.main(QuorumPeerMain.java:76) 
Caused by: java.lang.IllegalArgumentException: serverid replace this text with the cluster-unique zookeeper's instance id (1-255) is not a number 
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(QuorumPeerConfig.java:333) 
    at org.apache.zookeeper.server.quorum.QuorumPeerConfig.parse(QuorumPeerConfig.java:106) 
    ... 2 more 

cevap

34

O makinenin id yalnızca metin içeren tek bir satır oluşur myid adlı bir dosya oluşturmak gerek ve Yaupon var dizininde, her sunucu için bir tane koydu. Yani sunucu 1'in adı "1" metnini ve başka hiçbir şeyi içermiyordu. id topluluğu içinde benzersiz olmalıdır ve

daha az http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html#sc_zkMulitServerSetup

+0

Ah olmadan gelen sunucularında 1,2,3 değerleri herhangi uzatma ve yeri tamsayı olmadan myid dosyası oluşturmak aldım. Tat dosyasını nereye koyarsınız?/Etc/Yaupon/conf? – Tampa

+0

Yup..Yüksek çalışma ... teşekkürler !!!!!!!!! – Tampa

+0

Dosyayı zookeeper.properties'te "dataDir" özelliği tarafından tanımlanan konuma yerleştirirsiniz (bu da, ZooKeeper'ı başlatırken argüman olarak ilettiğiniz dosyadır). Yukarıdaki yapılandırma dosyanızda, dataDir dosyanız/var/lib/zookeeper şeklindedir, dolayısıyla dosya/var/lib/zookeeper/myid olmalıdır. – JakeRobb

4
server.1=111.111.111:2888:3888 
server.2=111.111.112:2888:3888 
server.3=111.111.113:2888:3888 

sunucularınız Are bakınız 1 ile 255 arasındadır bir değere sahip olmalıdır ve IP en

Sonra her birinde myid dosya oluşturmak dizini altındaki 111.111.111 ve 2'deki 111.111.111 ve 2'deki 111.111.111.112 ve 2'deki düğümler (dataDir =/var/lib/zookeeper)

Değer "1" myid dosyasını yerleştirirseniz, Number alırsınız biçim istisnası ve "Geçersiz yapılandırma, exiti ng anormal olarak "myid dosyası herhangi bir uzantı ile oluşturulmuşsa.

nedenle sadece ... çift tırnak

İlgili konular