2011-02-09 84 views
7

我正在使用hbase-0.90.0。我在獨立模式下運行它。當試圖從「hbase shell」執行任何命令時,它會給我以下錯誤。ZookeeperConnectionException在HBase獨立模式下

HBase的(主):003:0>狀態 '詳細'

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

我是HBase的新手。你能幫我解決這個問題嗎?

在此先感謝

回答

2

對於某種原因你HBase的客戶端沒有說話動物園管理員。我只是遇到了同樣的問題,而我的問題是,hbase config(hbase-site.xml)的zookeeper端口不正確(默認值是2181,有人已將其錯誤地設置爲2182)。使用zookeeper的配置是http://hbase.apache.org/book.html#zookeeper

還檢查hbase和zookeeper認爲他們的名字是什麼以及他們實際是什麼。通常的懷疑是/ etc/hosts文件爲localhost/127.0.0.1添加了一些額外的條目。因此,請確保您的本地主機只有一行localhost,並將所有別名放在/ etc/hosts中的一行上127.0.0.1

有時在localhost中有ipv4和ipv6條目會讓事情混淆,因此請嘗試註釋掉所有ipv6條目(地址中有冒號':'的地址。)

+0

thx,它工作4我:)) – zangeed 2012-01-05 13:25:34

2

所以我有完全相同的問題,並更改/ etc/hosts文件爲我做了。我更改了它,以便'localhost'和我的主機名都指向'127.0.0.1'

有關更多詳細信息,請參閱http://comments.gmane.org/gmane.comp.java.hadoop.hbase.user/19718

+1

嗚呼!這爲我解決了同樣的問題。那麼,我的問題幾乎是相同的:我運行Hbase版本0.90.4,並得到確切的錯誤消息是「錯誤:org.apache.hadoop.hbase.ZooKeeperConnectionException:HBase能夠連接到ZooKeeper,但連接關閉這可能表示服務器連接太多(默認爲30)。「 – Jeff 2011-12-22 05:54:51

0

當我在Mac 10.9上首次啓動HBase standalone模式時,我遇到了同樣的問題。我修復了幾個參數,但不確定哪個參數真的有效。不管怎樣,下面是這個地方,我做出改變:

  1. sudo nano /etc/hosts

    確保只有一個本地主機,它是127.0.0.1

  2. 編輯HBase的-site.xml中

    <configuration> 
        <property> 
         <name>hbase.rootdir</name> 
         <value>file:///usr/local/hbase</value> 
        </property> 
        <property> 
         <name>hbase.zookeeper.property.dataDir</name> 
         <value>usr/local/zookeeper</value> 
        </property> 
        <property> 
         <name>hbase.zookeeper.property.clientPort</name> 
         <value>2181</value> 
        </property> 
    </configuration> 
    
  3. 編輯hbase-env.sh

    export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Home 
    (Warning: this path is the Java 1.6 path, seems that Java 1.7 does not support HBase) 
    
    export HBASE_OPTS="-Djava.security.krb5.realm= -Djava.security.krb5.kdc=" 
    (fix realm issue) 
    

現在你應該是好的! 祝你好運!

0

我面臨同樣的問題。爲了解決它,我遵循以下步驟。

  1. 編輯hbase-env。SH

@rem The java implementation to use. Java 1.6 required. 
 
@rem set JAVA_HOME=c:\apps\java

  • 編輯HBase的-site.xml中

    <configuration> 
        <property> 
         <name>hbase.rootdir</name> 
         <!-- <value>hdfs://localhost:9000/hbase</value> --> 
         <!-- <value>hdfs://192.168.203.130:9000/hbase</value> --> 
         <value>/usr/local/hbase/hbase-0.98.5/hbase</value> 
         <description> The directory shared by RegionServers. </description> 
        </property> 
    
        <property> 
         <name>hbase.zookeeper.property.dataDir</name> 
         <!--<value>/tmp/zookeeper</value>--> 
         <value>/usr/local/hbase/hbase-0.98.5/zookeeper</value> 
         <!-- <value>/usr/local/zookeeper/zookeeper-3.4.6/export</value> --> 
         <description> 
          Property from ZooKeeper config zoo.cfg. 
          The directory where the snapshot is stored. 
         </description> 
        </property> 
    
        <property> 
         <name>hbase.zookeeper.property.clientPort</name> 
         <value>2181</value> 
        </property> 
    </configuration> 
    
  • 開放的.bashrc組HBASE PATH環境變量

  • #HBASE HOME <br> 
     
    export HBASE_HOME=/usr/local/hbase/hbase-0.98.5 
     
    
     
    export PATH=$PATH:$HADOOP_HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HBASE_HOME/bin

  • 執行的.bashrc文件
  • [email protected]:~$source ~/.bashrc

  • 在終端執行start-hbase.sh命令
  •     [email protected]:~$ start-hbase.sh 
     
        [email protected]:~$ hbase shell 
     
        [email protected]:~$ list

    由於