2011-02-09 58 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

    由于