2013-11-27 27 views
5

Sto eseguendo Hadoop-1.2.1 e HBase-0.94.11 in una modalità pseudo-distribuita.ZooKeeper esiste fallito dopo 3 tentativi

causa di mancanza di corrente Hadoop e HBase impostare andarono tempo down.Next quando riavviato il dispositivo e della pseudo-distribuzione predisposto, HBase smesso di funzionare con le seguenti errori HBase shell:

13/11/27 13:53:27 ERROR zookeeper.RecoverableZooKeeper: ZooKeeper exists failed after 3 retries 
13/11/27 13:53:27 WARN zookeeper.ZKUtil: hconnection Unable to set watcher on znode (/hbase/hbaseid) 
org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase/hbaseid 
    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.ClusterId.readClusterIdZNode(ClusterId.java:61) 
    at org.apache.hadoop.hbase.zookeeper.ClusterId.getId(ClusterId.java:50) 
    at org.apache.hadoop.hbase.zookeeper.ClusterId.hasId(ClusterId.java:44) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.ensureZookeeperTrackers(HConnectionManager.java:720) 
    at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getMaster(HConnectionManager.java:789) 
    at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:129) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526) 

Following sono i processi:

[email protected]:~$ jps 
16914 NameNode 
19955 Jps 
29460 Main 
17728 TaskTracker 
19776 HMaster 
17490 JobTracker 
17392 SecondaryNameNode 

risposta

1

sei sicuro il processo è in esecuzione Zookeeper (i tuoi jps sfogliare non mostra una voce per QuorumPeerMain)? Lo stack jps potrebbe non mostrare tutti i processi java in esecuzione: provare a utilizzare lo ps axww | grep QuorumPeerMain.

Se il guardiano dello zoo si rifiuta di partire, controllare i suoi log per vedere se ci sono alcuni indizi della traccia dello stack

+0

ho fatto funzionare il comando e sotto è l'uscita: hduser @ user-ubuntu: ~ $ ps axww | grep QuorumPeerMain 15527 pts/2 S + 0:00 grep --color = auto QuorumPeerMain –

+0

Quindi zookeeper non è in esecuzione (la corrispondenza di grep è lo stesso cmd di grep) - suggerisco di interrompere i servizi cluster, avviare Zookeeper, il rimanente servizi hadoop e hbase –

+1

Come riavviare 'Zookeeper' di nuovo? – Manwal

0

E 'semplice il processo di quorum guardiano dello zoo non è in esecuzione - se è stato, non ci sarebbe stato un altro processo Java :

[email protected]:~$ jps 
16914 NameNode 
19955 Jps 
29460 Main 
17728 TaskTracker 
19776 HMaster 
17490 JobTracker 
17392 SecondaryNameNode 

xxxxx HQuorumPeer

Zookeeper è richiesto per il cluster HBase - come si gestisce.


Possibili soluzioni: Per impostazione predefinita HBase gestisce guardiano dello zoo in sé cioè avviare e arrestare il quorum guardiano dello zoo (il cluster di nodi zookeeper) - per verificare le impostazioni di guardare nel file conf/hbase-evn.sh (nella directory HBase) ci deve essere una linea:

export HBASE_MANAGES_ZK=true 

fondamentalmente dice HBase se deve gestire la propria istanza di Zookeeper o meno. Se è impostato su false, modificare su true.

verificare anche la conf HBase a conf/hbase-site.xml,

La conf minima che dovrebbe funzionare per la modalità pseudo-distribuito è:

<configuration> 
<property> 
    <name>hbase.cluster.distributed</name> 
    <value>true</value> 
</property> 
<property> 
    <name>hbase.rootdir</name> 
    <value>hdfs://localhost:9000/hbase</value> 
    </property> 
    <property> 
    <name>hbase.zookeeper.property.dataDir</name> 
    <value>/home/<yourusername>/zookeeper</value> 
    </property> 
</configuration> 

Ora fermare il HBase, se è stato in esecuzione:

$ ./bin/stop-hbase.sh 

apportare le modifiche necessarie e avviarlo di nuovo:

$ ./bin/start-hbase.sh 

risposte si possono trovare utili: 12

Problemi correlati