2011-01-22 17 views
8

Cerco di eseguire HBase in modalità Pseudo-Distributed. Ma non funziona dopo aver impostato hbase-site.xml.Eccezione collegamento HBase

Ogni volta che provo a eseguire un comando all'interno della shell HBase ottengo questo errore:

ERROR: org.apache.hadoop.hbase.ZooKeeperConnectionException: org.apache.hadoop.hbase.ZooKeeperConnectionException: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = connectionLoss for /hbase

ho creato ssh e assicurarsi che tutti i porta siano corretti.

Inoltre, non riesco a fermare hbase anche se ./bin/stop-hbase.sh. Ho solo l'output seguente.

stopping hbase........................................................ 
+0

Ma la domanda è il tuo Hbase st ooped? Il mio non si ferma affatto. –

risposta

4

Pseudo-distribuito significa che si stanno eseguendo tutti i processi su una macchina. È necessario controllare che tutti i processi necessari sono in esecuzione:

Hadoop:

  • NameNode
  • DataNode
  • JobTracker
  • TaskTracker

Zookeeper:

  • HQuorumPeer

HBase:

  • HMaster
  • RegionServer

È inoltre necessario garantire che il vostro HBase-site.xml contiene le voci corrette per guardiano dello zoo che definiscono il nome host e il porto. Le FAQ HBase e Wiki sono davvero abbastanza buone. Cosa ti manca da lì?

+0

Alla fine risolvo usando il conf da https://wiki.cloudera.com/display/DOC/HBase+Installation, assicurati che hbase.cluster.distributed sia impostato su true –

+1

@TerminalUser questo wiki è protetto da password. Potresti incollare il tuo conf qui? – mmatloka

2

È perché la documentazione HBase si ha impostato le impostazioni HDFS per puntare alla porta 8020, ma le istruzioni Hadoop HDFS configurare per la porta 9000.

Cambia impostazioni HBase-site.xml che HBase raccomanda per puntare alla porta 9000 invece:

<property> 
    <name>hbase.rootdir</name> 
    <value>hdfs://localhost:9000/hbase</value> 
    <description>The directory shared by RegionServers. 
    </description> 
</property> 
+0

Sto usando Ubuntu 12.04, hive (0.9.0), hbase (0.94.3), hadoop (0.20.2) -single-node, zookeeper-3.4.3, guava-11.0.2, hive-hbase-handler- 0.9.0-- per hadoop, fs.default.name = hdfs: // localhost: 54310.che "hbase.rootdir" dovrei dare? 9000 o 54310 –

1

Ho avuto un problema simile e ho ricevuto lo stesso messaggio di errore come sopra. Nel mio caso, HMaster non funzionava. Utilizzo di

sudo start-hbase.sh 

risolto il problema.

1

Ho corretto il problema eliminando hbase.rootdir e le cartelle hbase.zookeeper.property.dataDir. per esempio:

more conf/hbase-site.xml 

mi da: hbase.rootdir file: /// somepath/HBase/testuser/HBase hbase.zookeeper.property.datadir /somepath/HBase/testuser/guardiano dello zoo

quindi rimuovere i vecchi dati:

rm -fr /somepath/hbase/testuser/hbase 
mkdir -p /somepath/hbase/testuser/hbase 
rm -fr /somepath/hbase/testuser/zookeeper 
mkdir -p /somepath/hbase/testuser/zookeeper 

quindi per avviarlo:

bin/start-hbase.sh  

e, infine, ho potuto connettersi all'istanza locale :

./bin/hbase shell