HBase客户端ConnectionLoss出现/ hbase错误
我要疯了:
已安装Hadoop / Hbase,所有正在运行;
/opt/jdk1.6.0_24/bin/jps23261 ThriftServer
22582 QuorumPeerMain
21969 NameNode
23500 Jps
23021 HRegionServer
22211 TaskTracker
22891 HMaster
22117 SecondaryNameNode
21779 DataNode
22370 Main
22704 JobTracker
伪分布式环境。
HBase的壳
正在运行并提出运行“列表”的正确结果;并且
hbase shellHBase Shell; enter 'help<RETURN>' for list of supported commands.
Type "exit<RETURN>" to leave the HBase Shell
Version 0.90.1-cdh3u0, r, Fri Mar 25 16:10:51 PDT 2011
hbase(main):001:0> status
1 servers, 0 dead, 8.0000 average load
通过红宝石和节俭连接时,一切正常。我们正在添加数据,它正在进入系统,我们可以查询/扫描它。一切似乎都很好。
但是,使用Java连接时:
groovy> import org.apache.hadoop.hbase.HBaseConfiguration groovy> import org.apache.hadoop.hbase.client.HBaseAdmin
groovy> conf = HBaseConfiguration.create()
groovy> conf.set("hbase.master","127.0.0.1:60000");
groovy> hbase = new HBaseAdmin(conf);
Exception thrown
org.apache.hadoop.hbase.ZooKeeperConnectionException: org.apache.hadoop.hbase.ZooKeeperConnectionException: org.apache.zookeeper.KeeperException$ConnectionLossException: KeeperErrorCode = ConnectionLoss for /hbase
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.getZooKeeperWatcher(HConnectionManager.java:1000)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.setupZookeeperTrackers(HConnectionManager.java:303)
at org.apache.hadoop.hbase.client.HConnectionManager$HConnectionImplementation.<init>(HConnectionManager.java:294)
at org.apache.hadoop.hbase.client.HConnectionManager.getConnection(HConnectionManager.java:156)
at org.apache.hadoop.hbase.client.HBaseAdmin.<init>(HBaseAdmin.java:84)
我一直在努力寻找原因,但我真的一点头也不知道。一切似乎都已正确安装。
netstat -lnp|grep 60000tcp6 0 0 :::60000 :::* LISTEN 22891/java
看起来也不错。
# telnet localhost 60000Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.
如果您键入任何内容,则连接并死亡,然后按Enter键(不确定是否是这样,在9090上节俭也是如此)。
谁能帮我?
回答:
这是Zookeeper(ZK)错误。HBase客户端尝试从Zookeeper获取/ hbase节点,但失败。
您可以从HBase主Web界面获取ZK转储。您应该查看与ZK的所有连接,并弄清是否有什么用尽它们。
在深入探讨其他问题之前,您可以尝试重新启动ZK群集,看看它是否可以解决您的问题。(很奇怪您看到一个客户端)。
HBase具有增加与ZK的连接数的设置。它的
hbase.zookeeper.property.maxClientCnxns
最近有一些更新(请参见下文)与默认连接数有关(有一个具有所有默认配置的hbase-default.xml文件)。您可以在hbase-
site.xml文件(在HBase conf
dir下)中覆盖此值,并将其提高到100或更多。但是请确保您没有以这种方式掩盖真正的问题,并且单个客户端也不应看到此问题。
我们也遇到过类似的情况,但是这种情况发生在升级到HBase-0.90之后,由于减少地图工作而进行的繁重操作中。
这是与您的问题有关的几个问题:
- https://issues.apache.org/jira/browse/HBASE-3773
- https://issues.apache.org/jira/browse/HBASE-3777
如果仍然无法解决问题,请向hbase-users列表发送电子邮件,或在freenode上加入#hbase频道并提出实时问题。
以上是 HBase客户端ConnectionLoss出现/ hbase错误 的全部内容, 来源链接: utcz.com/qa/405437.html