Hbase erreur zookeeper existe en échec après 3 retiries

j'utilise le mode autonome HBASE 0.94.8 en Ubuntu. Je suis capable de faire toutes les opérations dans Hbase-shell. Mais après je me suis connecté de mon système son donnant l'erreur suivante

15/07/28 15:10:30 ERROR zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 3 retries
15/07/28 15:10:30 WARN zookeeper.ZKUtil: hconnection-0x14ed40513350009 Unable to set watcher on znode (/hbase)
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:99)
    at org.apache.zookeeper.KeeperException.create(KeeperException.java:51)
    at org.apache.zookeeper.ZooKeeper.exists(ZooKeeper.java:1041)
    at org.apache.hadoop.hbase.zookeeper.RecoverableZooKeeper.exists(RecoverableZooKeeper.java:172)
    at org.apache.hadoop.hbase.zookeeper.ZKUtil.checkExists(ZKUtil.java:450)
    at org.apache.hadoop.hbase.zookeeper.ZooKeeperNodeTracker.checkIfBaseNodeAvailable(ZooKeeperNodeTracker.java:208)
    at org.apache.hadoop.hbase.zookeeper.RootRegionTracker.waitRootRegionLocation(RootRegionTracker.java:77)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:885)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:998)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:896)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegionInMeta(HConnectionManager.java:998)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:900)
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.locateRegion(HConnectionManager.java:857)

Oui, j'ai beaucoup cherché. J'ai trouvé quelques informations ZooKeeper existe échoué après 3 tentatives . Peut-être cette erreur est parce que zookeeper est arrêté. Mais je ne sais pas à redémarrer à nouveau. J'ai essayé de recommencer Hbase et thrift mais c'est toujours la question.

Cette commande ps axww | grep QuorumPeerMain me donne la sortie suivante:

 6162 pts/2    S+     0:00 grep --color=auto QuorumPeerMain

Hbase commence à fonctionner si je redémarre mon système. Mais je veux une bonne solution.


solution temporaire

avec la commande suivante je grep ce processus de HBASE:

ps -fe grep | hbase

et puis tuer tout le processus de HBASE:

kill -9 4555//assuming 4555 is process id of hbase

puis redémarré hbase avec sudo et thrift et il commencer à travailler, mais je veux une solution permanente. Parce que si J'utilise HBASE dans server (c'est-à-dire pas une machine locale), Je ne peux pas redémarrer HBASE à chaque fois.

9
demandé sur Community 2015-07-28 13:58:21

6 réponses

Problème :

Hbase erreur zookeeper existe en échec après 3 retiries indique clairement que quorum de gardien de zoo n'est pas en cours d'exécution-la cause la plus probable peut être une certaine incohérence avec votre gardien de zoo.quorum dans conf/hbase-site.xml , le minimum doit être:

<configuration>
  <property>
    <name>hbase.rootdir</name>
    <value>file:///home/testuser/hbase</value>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/testuser/zookeeper</value>
  </property>
</configuration>

dans la section suivante, il est brièvement mentionné pourquoi zookeeper est nécessaire et comment peut-on vérifier si elle est en cours d'exécution.


un aperçu :

pré-supposition à partir de votre texte (configuration autonome) - vous mélangez les choses. Zookeeper gère en termes simples HBase, et est une exigence incontournable.

par défaut HBase lui-même gère la configuration de zokeeper, start-stop (bien qu'on puisse changer) - pour vérifier, regardez dans le fichier conf/hbase-evn.sh (dans votre répertoire hbase) il doit y avoir une ligne:

export HBASE_MANAGES_ZK=true

indique essentiellement à HBase s'il doit gérer sa propre instance de gardien de Zoo ou non. Dans le cas où il est défini à false , éditer à true .

maintenant pour la vérification il y a une commande utile (oubliez le ps et puis grep ):

$ jps

la commande listera tous les processus java (HBase est lui-même une application Java) sur la machine, c'est-à-dire que la sortie probable doit être (pour un minimum

62019 Jps
61098 HMaster        
61233 HRegionServer     
61003 HQuorumPeer

Ne tuez pas seulement le processus HBase, utilisez plutôt l'utilitaire start-stop:

$ ./bin/stop-hbase.sh

faire les changements nécessaires et recommencer:

$ ./bin/start-hbase.sh

P.S. j'aurais pu mal interpréter votre question (complètement), faites - moi savoir dans les commentaires je vais revenir à vous et obtenir la bonne solution-pour les visiteurs SO à venir.

3
répondu Nabeel Ahmed 2016-04-13 07:52:46

lorsque vous regardez dans les fichiers journaux, vous constaterez que zookeeper est incapable de se connecter avec un port. Par exemple, 543210 . Cela signifie simplement qu'il vous avez déjà installé Hadoop sur votre machine, donc hbase essaie de trouver le gardien de l'installation hadoop précédente. Veuillez renommer votre configuration hadoop existante ou supprimer complètement hadoop de votre système. (Mais notez que zookeeper semble laisser les choses autour, même après une suppression.)

  • Rename dossier d'installation hadoop
  • Supprimer l'entrée .bashrc fichier
  • redémarrer l'ordinateur
3
répondu shubham bhindwal 2017-09-18 20:47:11

il semble que la question n'est pas liée à hbase ou zookeeper . C'est une question de réglage du système.

j'ai le même problème après ma mise à jour Mac OS X.

il s'est avéré que les paramètres DNS ont été modifiés par la mise à jour. J'ai vu que dans les journaux de hbase:

2017-06-09 11:40:18,454 ERROR [main] master.HMasterCommandLine: Master exiting
java.lang.RuntimeException: Failed construction of Master: class org.apache.hadoop.hbase.master.HMasterCommandLine$LocalHMaster
    at org.apache.hadoop.hbase.util.JVMClusterUtil.createMasterThread(JVMClusterUtil.java:143)
[SKIP]
    at org.apache.hadoop.hbase.master.HMaster.main(HMaster.java:2432)
Caused by: java.lang.NullPointerException
    at org.apache.hadoop.net.DNS.reverseDns(DNS.java:92)

après suppression des paramètres DNS dans hbase-site.xml , la question n'a pas été abordée:

  <!--property>
    <name>hbase.zookeeper.dns.interface</name>
    <value>lo0</value>
  </property>
  <property>
    <name>hbase.regionserver.dns.interface</name>
    <value>lo0</value>
  </property>
  <property>
    <name>hbase.master.dns.interface</name>
    <value>lo0</value>
  </property-->
2
répondu Dmitry Petrov 2017-06-09 18:51:22

si son seul gardien de zoo de départ, ce devrait vous aider. J'espère que vous savez que le gardien de zoo devrait être opérationnel avant que nous commencions hbase.

0
répondu Ramzy 2015-07-28 15:10:03

j'ai presque la même erreur "ZooKeeper existe échoué après 4 tentatives". Ça a été causé par la course.start-hbase.sh sans avoir les permissions de se connecter au port 2181. La solution s'est avérée très simple:

sudo ./start-hbase.sh

j'ai utilisé la même configuration de hbase-site.xml comme il l'est dans Nabeel Ahmed.

0
répondu APW 2016-12-14 13:39:09

Mine travaille avec sudo command

hbase/bin$sudo ./start-habase.sh
0
répondu y durga prasad 2017-05-29 11:13:52