2015-05-24 4 views
2

Я пытаюсь развернуть ансамбль zookeeper в полностью распределенном режиме с использованием трех узлов. После запуска сервера никакая запись не попадает под jps. По приданию "статус zkServer.sh" выход:ZooKeeper start успешно, но не работает

JMX enabled by default 
    Using config: /usr/local/zookeeper/bin/../conf/zoo.cfg 
    Error contacting service. It is probably not running 

На дав команду "zkCli.sh -server zks1: 2181" является:

Connecting to zks1:2181 
2015-05-24 23:02:24,602 [myid:] - INFO [main:[email protected]] - Client environment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT 
2015-05-24 23:02:24,605 [myid:] - INFO [main:[email protected]] - Client environment:host.name=mtech2-OptiPlex-7010 
2015-05-24 23:02:24,606 [myid:] - INFO [main:[email protected]] - Client environment:java.version=1.7.0_79 
2015-05-24 23:02:24,607 [myid:] - INFO [main:[email protected]] - Client environment:java.vendor=Oracle Corporation 
2015-05-24 23:02:24,607 [myid:] - INFO [main:[email protected]] - Client environment:java.home=/usr/lib/jvm/java-7-openjdk-amd64/jre 
2015-05-24 23:02:24,608 [myid:] - INFO [main:[email protected]] - Client environment:java.class.path=/usr/local/zookeeper/bin/../build/classes:/usr/local/zookeeper/bin/../build/lib/*.jar:/usr/local/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/usr/local/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/usr/local/zookeeper/bin/../lib/netty-3.7.0.Final.jar:/usr/local/zookeeper/bin/../lib/log4j-1.2.16.jar:/usr/local/zookeeper/bin/../lib/jline-0.9.94.jar:/usr/local/zookeeper/bin/../zookeeper-3.4.6.jar:/usr/local/zookeeper/bin/../src/java/lib/*.jar:/usr/local/zookeeper/bin/../conf: 
2015-05-24 23:02:24,608 [myid:] - INFO [main:[email protected]] - Client environment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib/x86_64-linux-gnu/jni:/lib/x86_64-linux-gnu:/usr/lib/x86_64-linux-gnu:/usr/lib/jni:/lib:/usr/lib 
2015-05-24 23:02:24,608 [myid:] - INFO [main:[email protected]] - Client environment:java.io.tmpdir=/tmp 
2015-05-24 23:02:24,608 [myid:] - INFO [main:[email protected]] - Client environment:java.compiler=<NA> 
2015-05-24 23:02:24,608 [myid:] - INFO [main:[email protected]] - Client environment:os.name=Linux 
2015-05-24 23:02:24,608 [myid:] - INFO [main:[email protected]] - Client environment:os.arch=amd64 
2015-05-24 23:02:24,608 [myid:] - INFO [main:[email protected]] - Client environment:os.version=3.10.75 
2015-05-24 23:02:24,608 [myid:] - INFO [main:[email protected]] - Client environment:user.name=hduser 
2015-05-24 23:02:24,608 [myid:] - INFO [main:[email protected]] - Client environment:user.home=/home/hduser 
2015-05-24 23:02:24,608 [myid:] - INFO [main:[email protected]] - Client environment:user.dir=/usr/local/zookeeper 
2015-05-24 23:02:24,609 [myid:] - INFO [main:[email protected]] - Initiating client connection, connectString=zks1:2181 sessionTimeout=30000 [email protected] 
Welcome to ZooKeeper! 
2015-05-24 23:02:24,741 [myid:] - INFO [main-SendThread(zks1:2181):[email protected]] - Opening socket connection to server zks1/192.168.4.60:2181. Will not attempt to authenticate using SASL (unknown error) 
JLine support is enabled 
2015-05-24 23:02:24,755 [myid:] - WARN [main-SendThread(zks1:2181):[email protected]] - 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:739) 
    at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:361) 
    at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081) 
[zk: zks1:2181(CONNECTING) 0] 

/и т.д./хосты файл как следует для всех узлов:

192.168.4.60 zks1 
    192.168.4.61 zks2 
    192.168.4.66 zks3 

zoo.cfg файл выглядит следующим образом:

dataDir=/var/zookeeper/                  
    clientPort=2181 
    initLimit=5 
    syncLimit=2 
    server.server1=zks1:2888:3888         
    server.server2=zks2:2888:3888 
    server.server3=zks3:2888:3888 

Я создал каталог/var/zookeeper на всех узлах и сменил владельца на hduser: hadoop.

Экспортируемые переменные окружения:

export JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64 
    export ZK_HOME=/usr/local/zookeeper 
    export PATH=$PATH:$ZK_HOME/bin 

В MyId годов в каталоге данных (/ вар/Zookeeper /) являются сервер1, server2 и server3 соответственно.

Просьба указать проблему.

+0

Вы пытаетесь запустить несколько серверов на одном компьютере? – user2720864

+0

Нет Я работаю на нескольких машинах. Я нашел решение. Замена server.server1 на server.1 и, соответственно, изменение файла myid для каждого узла делало трюк. –

ответ

1

Замена server.server1 на сервер.1 и, соответственно, изменение файла myid для каждого узла сделало трюк.

0

Я столкнулся с такой же проблемой, тоже. В моем случае проблема заключается в том, что конфигурация местоположений zookeeper не одинакова для каждого узла, поэтому zookeeper не может предоставить Quorum, и упомянутые узлы не могут быть частью кластера.

Пожалуйста, убедитесь, что определение сервера для каждого узла такое же.

server.server1=zks1:2888:3888         
server.server2=zks2:2888:3888 
server.server3=zks3:2888:3888 
0

В трассировке первого/верхнего стека есть проблема с значением myid.

2015-05-24 23: 02: 24,602 [myid:] - INFO [main: Environment @ 100] " в верхней строке с myid: * здесь должно быть целое/длинное. Так что, вероятно, у вас нет создал ваш файл myid внутри папки dataDir или вы не указали значение long/int. Еще одна вещь myid должна быть типа файла.

Во второй проблеме в server.server1 = machine: port1: port2, поскольку server1 не является длинным, поэтому NumberFormatException будет вызываться методом org.apache.zookeeper.server.quorum.QuorumPeerConfig.parseProperties(). , поэтому server.1 должен быть числом, уникальным в ансамбле и тем же должен быть в файле myid.

Смежные вопросы