2011-10-13 21 views
12

ho installato Zookeeper come segue:"java.net.ConnectException: Connection refused" in Zookeeper

wget http://archive.cloudera.com/cdh/3/zookeeper-3.3.3-cdh3u1.tar.gz 

Ecco il mio zoo.cf:

# The number of milliseconds of each tick 
tickTime=2000 
# 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=/home/reach121/basf/data/zookeeper/data1 
# maximum client connection 
maxClientCnxns=500 
# the port at which the clients will connect 
clientPort=2183 
server.1=localhost:2878:3878 
server.2=localhost:2879:3879 
server.3=localhost:2880:3880 

e iniziato da

/bin/zkServer.sh start zoo.cfg 

e quando lo faccio?

bin/zkCli.sh -server 127.0.0.1:2183 

mi dà questo errore:

Connecting to 127.0.0.1:2183 
2011-10-13 14:11:28,433 - INFO [main:[email protected]] - Client environment:zookeeper.version=3.3.3-cdh3u1--1, built on 07/18/2011 15:17 GMT 
2011-10-13 14:11:28,437 - INFO [main:[email protected]] - Client environment:host.name=cignexnew 
2011-10-13 14:11:28,437 - INFO [main:[email protected]] - Client environment:java.version=1.6.0_22 
2011-10-13 14:11:28,438 - INFO [main:[email protected]] - Client environment:java.vendor=Sun Microsystems Inc. 
2011-10-13 14:11:28,438 - INFO [main:[email protected]] - Client environment:java.home=/usr/lib/jvm/java-6-openjdk/jre 
2011-10-13 14:11:28,439 - INFO [main:[email protected]] - Client environment:java.class.path=/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../build/classes:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../build/lib/*.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../zookeeper-3.3.3-cdh3u1.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../lib/log4j-1.2.15.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../lib/jline-0.9.94.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../src/java/lib/*.jar:/home/reach121/basf/zookeeper-3.3.3-cdh3u1/bin/../conf: 
2011-10-13 14:11:28,439 - INFO [main:[email protected]] - Client environment:java.library.path=/usr/lib/jvm/java-6-openjdk/jre/lib/amd64/server:/usr/lib/jvm/java-6-openjdk/jre/lib/amd64:/usr/lib/jvm/java-6-openjdk/jre/../lib/amd64:/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 
2011-10-13 14:11:28,440 - INFO [main:[email protected]] - Client environment:java.io.tmpdir=/tmp 
2011-10-13 14:11:28,440 - INFO [main:[email protected]] - Client environment:java.compiler=<NA> 
2011-10-13 14:11:28,441 - INFO [main:[email protected]] - Client environment:os.name=Linux 
2011-10-13 14:11:28,441 - INFO [main:[email protected]] - Client environment:os.arch=amd64 
2011-10-13 14:11:28,441 - INFO [main:[email protected]] - Client environment:os.version=2.6.35.4-rscloud 
2011-10-13 14:11:28,442 - INFO [main:[email protected]] - Client environment:user.name=reach121 
2011-10-13 14:11:28,443 - INFO [main:[email protected]] - Client environment:user.home=/home/reach121 
2011-10-13 14:11:28,443 - INFO [main:[email protected]] - Client environment:user.dir=/home/reach121/basf/zookeeper-3.3.3-cdh3u1 
2011-10-13 14:11:28,446 - INFO [main:[email protected]] - Initiating client connection, connectString=127.0.0.1:2183 sessionTimeout=30000 [email protected] 
Welcome to ZooKeeper! 
2011-10-13 14:11:28,472 - INFO [main-SendThread():[email protected]] - Opening socket connection to server /127.0.0.1:2183 
JLine support is enabled 
2011-10-13 14:11:28,487 - WARN [main-SendThread(localhost:2183):[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:592) 
     at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
[zk: 127.0.0.1:2183(CONNECTING) 0] 2011-10-13 14:11:30,374 - INFO [main-SendThread(localhost:2183):[email protected]] - Opening socket connection to server localhost/127.0.0.1:2183 
2011-10-13 14:11:30,376 - WARN [main-SendThread(localhost:2183):[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:592) 
     at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1119) 
+0

il problema era che non ho creato il file myid nella directory dei dati e non ho avviato il server zooketer con & – XMen

+0

Anche io sto affrontando lo stesso problema. Sto usando HBase 0.94.8. Puoi spiegare come hai risolto il problema? –

risposta

6

sono i server in arrivo? Probabilmente non dato:

server.1=localhost:2878:3878 
server.2=localhost:2879:3879 
server.3=localhost:2880:3880 

Se si esegue tutti e tre i server sullo stesso host cui avranno bisogno per ciascuno una diversa configurazione - in particolare la posizione datadir deve essere diverso, ed è necessario per assicurare che ogni datadir ha un file myid corrispondente alla linea del server (es. server. # in config).

In genere quando si desidera eseguire in modalità distribuita è necessario disporre di host separati. In questo caso, perché non utilizzare la modalità standalone (predefinita)?

Io suggerirei di leggere di più nella guida di amministrazione prima: http://zookeeper.apache.org/doc/r3.3.3/zookeeperAdmin.html

+2

come controllare che i server siano attivi? – XMen

+0

la stessa configurazione sta funzionando su un altro server – XMen

2

Ho avuto lo stesso problema si collega da un codice client per MAPR m3 fuori dalla scatola

il problema è il cliente era cercando di connettersi a Zookeeper M3 su localhost.

/opt/mapr/conf/mapr-clusters.conf sul mio cluster M3 stava puntando a localhost ... ho cambiato l'indirizzo IP della macchina di M3 e la connessione dal client lavorato

/opt/mapr/conf/cldb.conf aggiungere l'indirizzo IP al posto di localhost

e riavviare Zookeeper

3

Assicurarsi che tutti i servizi richiesti siano in esecuzione

Fase 1: Controllare se HBase-master è in esecuzione

sudo /etc/init.d/hbase-master status 

se non, quindi avviarlo sudo /etc/init.d/hbase-master start

Fase 2: Controllare se HBase-regionserver è in esecuzione

sudo /etc/init.d/hbase-regionserver status 

se non, quindi avviarlo sudo /etc/init.d/hbase-regionserver start

Fase 3: Verificare se Zookeeper -server è in esecuzione

sudo /etc/init.d/zookeeper-server status 
.210

se no, poi avviarlo sudo /etc/init.d/zookeeper-server start


o semplicemente eseguire questi 3 comandi in una riga.

dopo che non dimenticate di controllare lo stato

sudo /etc/init.d/hbase-master status 
sudo /etc/init.d/hbase-regionserver status 
sudo /etc/init.d/zookeeper-server status 

Si potrebbe scoprire che guardiano dello zoo non è ancora in esecuzione: quindi è possibile eseguire il guardiano dello zoo

sudo /usr/lib/zookeeper/bin/zkServer.sh stop 
sudo /usr/lib/zookeeper/bin/zkServer.sh start 

dopo controlla nuovamente lo stato e assicurati che sia in esecuzione

sudo /etc/init.d/zookeeper-server status 

Questo dovrebbe funzionare.