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)
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
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.
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