HBase Standalone模式下的ZookeeperConnectionException

时间:2011-02-09 07:37:47

标签: hbase

我正在使用hbase-0.90.0。我在独立模式下运行它。在尝试执行“hbase shell”中的任何命令时,它会给我以下错误。

HBase的(主):003:0>状态'详细'

错误:org.apache.hadoop.hbase.ZooKeeperConnectionException:org.apache.hadoop.hbase.ZooKeeperConnectionException:org.apache.zookeeper.KeeperException $ ConnectionLossException:KeeperErrorCode = /Lbase的ConnectionLoss

我是HBase的新手。你可以帮我解决这个问题吗?

提前致谢

4 个答案:

答案 0 :(得分:2)

由于某种原因,您的HBase客户端未与Zookeeper通信。我只是遇到了同样的问题而且问题在于我的问题是hbase配置(hbase-site.xml)有一个错误的端口用于zookeeper(默认是2181,有人将它设置为2182错误)。使用zookeeper的配置是http://hbase.apache.org/book.html#zookeeper

还要检查hbase和zookeeper认为他们的名字是什么以及他们实际是什么。通常的怀疑是/ etc / hosts文件有一些额外的localhost / 127.0.0.1条目。因此,请确保您的localhost只有一行localhost,并将127.0.0.1的所有别名放在/ etc / hosts中的一行

有时在localhost中使用ipv4和ipv6条目会混淆内容,因此请尝试注释掉所有ipv6条目(地址中冒号':'的条目。)

答案 1 :(得分:2)

所以我有完全相同的问题,并且更改/ etc / hosts文件为我做了。我更改了它,以便'localhost'和我的主机名都指向'127.0.0.1'

有关详细信息,请参阅http://comments.gmane.org/gmane.comp.java.hadoop.hbase.user/19718

答案 2 :(得分:0)

当我第一次在mac 10.9上启动HBase独立模式时遇到了同样的问题。我修复了几个参数,但不确定哪个参数确实有用。无论如何,下面是我做出改变的地方:

  1. sudo nano /etc/hosts

    确保只有一个localhost,它是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)
    
  4. 现在你会好起来的! 祝你好运!

答案 3 :(得分:0)

我遇到了同样的问题。为了解决这个问题,我按照以下步骤进行了解决。

  1. 修改 hbase-env.sh
  2. &#13;
    &#13;
    @rem The java implementation to use.  Java 1.6 required.
    @rem set JAVA_HOME=c:\apps\java
    &#13;
    &#13;
    &#13;

    1. 修改 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>
      
    2. 打开 .bashrc 设置Hbase PATH环境变量

    3. &#13;
      &#13;
      #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
      &#13;
      &#13;
      &#13;

      1. 执行 .bashrc 文件
      2. &#13;
        &#13;
            hduser@ubuntu:~$source ~/.bashrc
        &#13;
        &#13;
        &#13;

        1. 在终端中执行 start-hbase.sh 命令
        2. &#13;
          &#13;
                             hduser@ubuntu:~$ start-hbase.sh
              hduser@ubuntu:~$ hbase shell
              hduser@ubuntu:~$ list
          &#13;
          &#13;
          &#13;

          由于