web-dev-qa-db-fra.com

"Java.net.ConnectException: connexion refusée" dans zookeeper

J'ai installé zookeeper comme suit:

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

Voici mon 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

et commencé par

/bin/zkServer.sh start Zoo.cfg

et quand je le fais?

bin/zkCli.sh -server 127.0.0.1:2183

cela me donne cette erreur:

Connecting to 127.0.0.1:2183
2011-10-13 14:11:28,433 - INFO  [main:Environment@97] - 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:Environment@97] - Client environment:Host.name=cignexnew
2011-10-13 14:11:28,437 - INFO  [main:Environment@97] - Client environment:Java.version=1.6.0_22
2011-10-13 14:11:28,438 - INFO  [main:Environment@97] - Client environment:Java.vendor=Sun Microsystems Inc.
2011-10-13 14:11:28,438 - INFO  [main:Environment@97] - Client environment:Java.home=/usr/lib/jvm/Java-6-openjdk/jre
2011-10-13 14:11:28,439 - INFO  [main:Environment@97] - 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:Environment@97] - 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:Environment@97] - Client environment:Java.io.tmpdir=/tmp
2011-10-13 14:11:28,440 - INFO  [main:Environment@97] - Client environment:Java.compiler=<NA>
2011-10-13 14:11:28,441 - INFO  [main:Environment@97] - Client environment:os.name=Linux
2011-10-13 14:11:28,441 - INFO  [main:Environment@97] - Client environment:os.Arch=AMD64
2011-10-13 14:11:28,441 - INFO  [main:Environment@97] - Client environment:os.version=2.6.35.4-rscloud
2011-10-13 14:11:28,442 - INFO  [main:Environment@97] - Client environment:user.name=reach121
2011-10-13 14:11:28,443 - INFO  [main:Environment@97] - Client environment:user.home=/home/reach121
2011-10-13 14:11:28,443 - INFO  [main:Environment@97] - Client environment:user.dir=/home/reach121/basf/zookeeper-3.3.3-cdh3u1
2011-10-13 14:11:28,446 - INFO  [main:ZooKeeper@373] - Initiating client connection, connectString=127.0.0.1:2183 sessionTimeout=30000 watcher=org.Apache.zookeeper.ZooKeeperMain$MyWatcher@5311a775
Welcome to ZooKeeper!
2011-10-13 14:11:28,472 - INFO  [main-SendThread():ClientCnxn$SendThread@1041] - 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):ClientCnxn$SendThread@1161] - 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):ClientCnxn$SendThread@1041] - Opening socket connection to server localhost/127.0.0.1:2183
2011-10-13 14:11:30,376 - WARN  [main-SendThread(localhost:2183):ClientCnxn$SendThread@1161] - 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)
15
XMen

Les serveurs arrivent-ils? Probablement pas donné:

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

Si vous exécutez les trois serveurs sur le même hôte, ils devront chacun avoir une configuration différente - en particulier l'emplacement du datadir doit être différent, et vous devez vous assurer que chaque datadir a un fichier myid correspondant à la ligne du serveur (c.-à-d. Serveur . # dans la configuration).

En règle générale, lorsque vous souhaitez exécuter en mode distribué, vous devez avoir des hôtes distincts. Dans ce cas, pourquoi ne pas simplement exécuter en mode autonome (par défaut)?

Je vous suggère de lire d'abord le guide d'administration: http://zookeeper.Apache.org/doc/r3.3.3/zookeeperAdmin.html

6
phunt

Assurez-vous que tous les services requis sont en cours d'exécution

Étape 1: Vérifiez si hbase-master est en cours d'exécution

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

sinon, démarrez-le Sudo /etc/init.d/hbase-master start

Étape 2: Vérifiez si hbase-regionserver est en cours d'exécution

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

sinon, démarrez-le Sudo /etc/init.d/hbase-regionserver start

Étape 3: Vérifiez si le serveur zookeeper est en cours d'exécution

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

sinon, démarrez-le Sudo /etc/init.d/zookeeper-server start


ou exécutez simplement ces 3 commandes d'affilée.

Sudo /etc/init.d/hbase-master restart
Sudo /etc/init.d/hbase-regionserver restart
Sudo /etc/init.d/zookeeper-server restart

après cela, n'oubliez pas de vérifier l'état

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

Vous pourriez constater que zookeeper n'est toujours pas en cours d'exécution: alors vous pouvez exécuter le zookeeper

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

après cela, vérifiez à nouveau l'état et assurez-vous que son fonctionnement

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

Cela devrait fonctionner.

3
Abhishek Goel

J'ai eu le même problème lors de la connexion d'un code client à mapr m3 hors de la boîte

le problème est que le client essayait de se connecter au gardien de zoo M3 sur localhost.

/opt/mapr/conf/mapr-clusters.conf sur mon cluster M3 pointait vers localhost ... je l'ai changé pour l'adresse IP de la machine M3 et la connexion du client a fonctionné

/opt/mapr/conf/cldb.conf ajouter une adresse IP à la place de localhost

et redémarrez zookeeper

2
Sachin Pawar