我根本无法将客户端计算机连接到HBase。
客户端在Windows 8上运行。 Fedora VM上的HBase。
我已经导入了以下罐子:
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 client do not able to connect with remote Hbase server (我甚至从那里使用问题的代码) 没有帮助。
我看过这里: https://www.mail-archive.com/user@hbase.apache.org/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:在服务器ip / ip上完成会话建立:2181,sessionid = 0x147d515db130006,协商超时= 40000
答案 0 :(得分:1)
我们在hbase .96遇到同样的情况。我们的客户也在同一时间。我们用hbase.98罐替换了hbase .96罐。并且有趣地解决了问题。这不是你问题的答案,但可能有所帮助。
答案 1 :(得分:1)
自问题发布以来已经有一段时间了。
我有完全相同的问题,它可以有2个来源:
您错误配置了自己的IP(详见Christian Wirth)
或者您使用的jar与正在运行的hbase版本之间存在兼容性问题。
我使用Cloudera在Hadoop / Hbase上安装一个包裹,所以我从/ opt / cloudera / parcels添加了JAR,它可以工作。
希望它会有所帮助
答案 2 :(得分:0)
Dee,奥山提到的是有道理的。这不是错误,它说我们能够成功连接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_establishment_complete /
答案 3 :(得分:0)
我遇到了同样的问题,今天就解决了。 使用IP,而不是计算机名。问题似乎是名称没有得到妥善解决。使用IP解决了我的问题。
看看:Hbase managed zookeeper suddenly trying to connect to localhost instead of zookeeper quorum 了解更多信息。
答案 4 :(得分: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