HBase 连接在 INFO Zookeeper 处挂起。ClientCnxn:服务器上的会话建立完成。如何进一步连接?

问题描述 投票:0回答:5

我根本无法将我的客户端计算机连接到 HBase。

客户端在 Windows 8 上运行。HBase 在 Fedora VM 上运行。

我导入了以下罐子:

commons-configuration (commons-configuration-1.6.jar)
commons-lang (commons-lang-2.6.jar)
commons-logging (commons-logging-1.1.1.jar)
hadoop-core (hadoop-core-1.2.1.jar)
hbase (hbase-0.94.11.jar)
log4j (log4j-1.2.16.jar)
protobuf-java-2.5.0.jar
slf4j-api (slf4j-api-1.5.8.jar)
slf4j-log4j (slf4j-log4j12-1.5.8.jar)
zookeeper (zookeeper-3.4.3.jar)

我看过这里:Hbase客户端无法连接到远程Hbase服务器 (我什至使用那里的问题代码)但这没有帮助。

我看过这里: https://www.mail-archive.com/[电子邮件受保护]/msg23159.html 但这也没有帮助。

我已编辑我的

/etc/hosts
以包含
"my_ip localhost"

我已将其包含在客户端和服务器端

hdfs-site.xml

<property>   
        <name>hbase.rootdir</name>
        <value>file:///home/hadoop/hbase</value>
    </property> 
    <property>
        <name>hbase.zookeeper.property.dataDir</name>
        <value>/home/hadoop/zookeeper</value>
    </property>
    <property>
        <name>hbase.zookeeper.quorum</name>
        <value>Hadoop</value>
    </property>
    <property>
        <name>hbase.zookeeper.property.clientPort</name>
        <value>2181</value>
    </property>
    <property>
        <name>hbase.master</name>
        <value>Hadoop:60000</value>
    </property>
    <property>
        <name>zookeeper.znode.rootserver</name>
        <value>Hadoop</value>
    </property>
    <property>
        <name>zookeeper.znode.parent</name>
        <value>/hbase</value>
    </property>

一切看起来都很好,除了这个:

INFO zookeeper.ClientCnxn: Session establishment complete on server ip/ip:2181, sessionid = 0x147d515db130006, negotiated timeout = 40000
hbase apache-zookeeper
5个回答
1
投票

我们在 hbase .96 上遇到了同样的情况。我们的客户也挂在同一个地方。我们用 hbase.98 jar 替换了 hbase .96 jar。问题的解决很有趣。这不是您问题的答案,但可能会有所帮助。


1
投票

这个问题发布已经有一段时间了。

我遇到了完全相同的问题,它可能有两个根源:

  • 您的 IP 配置错误(由 Christian Wirth 详细介绍)

  • 或者您使用的 jar 和您运行的 hbase 版本之间存在兼容性问题。

我使用 Cloudera 通过 Hadoop/Hbase 安装 Parcel,因此我添加了 /opt/cloudera/parcels 中的 JAR,它就可以工作了。

希望对一些人有帮助


0
投票

Dee,ozhang 说的很有道理。这不是错误,它表示我们能够成功连接到 Zookeeper。这是版本控制问题。 我的情况是一样的。我在服务器中有版本0.98.0.2.1.5.0-695-hadoop2。我尝试了 hbase jar 版本 0.96,0.98.9 , 0.98.13 ..但是它不起作用。然后我尝试了 0.98.5-hadoop2 版本的 hbase 并且它起作用了。谢谢!

我使用了以下链接:

[有用链接][1]http://www.informit.com/articles/article.aspx?p=2255108&seqNum=2

[信息][1]www.tech.theplayhub.com/java_-_hbase_client_stuck_on_session_builtment_complete/


0
投票

我也遇到了同样的问题,今天解决了。 使用 IP,而不是计算机名。问题似乎是名称没有正确解析。使用 IP 解决了我的问题。

看看:Hbase管理的zookeeper突然尝试连接到本地主机而不是zookeeper仲裁 欲了解更多信息。


0
投票

我修改了我的依赖关系

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>hadoop-core</artifactId>
            <version>${hadoop.version}</version>
        </dependency>

        <dependency>
            <groupId>org.apache.hadoop</groupId>
            <artifactId>**hadoop-client**</artifactId>
            <version>${hadoop.version}</version>
        </dependency>

其中 ${hadoop.version} 为 2.5.1,与 /opt/hbase-1.1.2/lib/hadoop-client-2.5.1.jar

相同
© www.soinside.com 2019 - 2024. All rights reserved.