/ hbase错误的Hbase客户端连接丢失

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

我要疯了:

已安装Hadoop / Hbase,所有正在运行;

/opt/jdk1.6.0_24/bin/jps
23261 ThriftServer
22582 QuorumPeerMain
21969 NameNode
23500 Jps
23021 HRegionServer
22211 TaskTracker
22891 HMaster
22117 SecondaryNameNode
21779 DataNode
22370 Main
22704 JobTracker

伪分布式环境。

hbase shell

正在运行,并在运行“列表”时得出正确的结果;]]

hbase shell
HBase 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 60000
tcp6       0      0 :::60000                :::*                    LISTEN      22891/java  

看起来也不错。

# telnet localhost 60000
Trying 127.0.0.1...
Connected to localhost.
Escape character is '^]'.

[如果键入任何内容,然后连接并死亡,然后输入Enter(不确定是不是这个主意,在9090上节俭也是如此)。

有人可以帮助我吗?

我要疯了:安装了Hadoop / Hbase,一切都在运行; /opt/jdk1.6.0_24/bin/jps 23261 ThriftServer 22582 QuorumPeerMain 21969 NameNode 23500 Jps 23021 HRegionServer 22211 TaskTracker ...

java ruby hadoop hbase thrift
5个回答
9
投票

这是一个Zookeeper(ZK)错误。 HBase客户端尝试从Zookeeper获取/ hbase节点,但失败。


3
投票

问题实际上是(出于某种原因……我并没有详细说明)防火墙阻止了与Zookeeper进行通信所需的端口之一;从命令行运行了,从我的应用程序运行了。但是,当我禁用防火墙时,所有设备突然都能正常工作。


3
投票

当用户在客户端来源的hbase-site.xml中为“ zookeeper.znode.parent”定义了不正确的值时,或者在编写了自定义API的情况下,“ zookeeper.znode.parent”都不正确更新到错误的位置。例如,默认的“ zookeeper.znode.parent”设置为“ / hbase-unsecure”,但是如果您错误地指定说“ / hbase”(而不是我们在集群中设置的内容),则会遇到这种情况尝试连接到HBase群集时发生异常]


1
投票

我在连接到我的hbase数据库时遇到了同样的问题。


1
投票

步骤1:首先将使用“ jps”命令检查HBase主节点是否正在运行。

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