当前位置: 首页 > 面试题库 >

HBase客户端ConnectionLoss出现/ hbase错误

柯河
2023-03-14
问题内容

我要疯了:

已安装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的壳

正在运行并提出运行“列表”的正确结果;并且

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上节俭也是如此)。

谁能帮我?


问题答案:

这是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客户端类: 它引发了一些异常: 您能告诉我为什么会引发异常,代码有什么问题以及如何解决它。 问题答案: 由于您的HBase服务器的hosts文件,因此会发生此问题。 您只需要编辑HBase服务器的/ etc / hosts文件。 从该文件中删除localhost条目,然后将localhost条目放在HBase服务器IP的前面。 例如,您的HBase服务

  • 我正在尝试通过Phoenix连接HBase集群。首先,我已经将Phoenix客户端和查询服务器jars文件复制到HMaster和HRegion lib文件夹,并重新启动HBase服务。 服务器-通过/bin/queryserver.py启动Phoenix服务器。运转正常。 客户端- 它工作在伪节点集群上。但在启用HA的Hadoop集群中失败。 在高可用性集群中,我已经为文件中的属性设置了活动名称代

  • 我编写了一个简单的HBase客户端程序来在我的HBase集群(1个主服务器和3个区域服务器)中执行CRUD操作。Zookeeper实例仅在主服务器中运行,仲裁包括所有4台服务器。集群运行良好,可以使用YCSB客户端执行读/写操作(意味着服务器/Zookeeper端没有任何错误)。 现在,在eclipse类路径中,我添加了所有HBase库和hbase-0.94.7.jar(包含hbase-defau

  • 我使用hbase客户端扫描从远程hbase服务器集群获取数据。当我将筛选器设置为扫描时,客户端将抛出一个异常: ipc:RemoteException:IPC服务器无法读取调用参数:无法初始化org.apache.hadoop.hbase.util.classes。

  • 我正在尝试配置一个 hbase 客户端来连接到在泊客容器中运行的 HBase。鉴于它是出于集成测试目的,我们可以将主服务器和区域服务器硬编码(将它们全部放在同一个地址)。 我们使用云集分布,但我想这应该是一样的。我已经在组织.apache.hadoop.conf.configuration中定义了“hbase.master”。

  • 我有一个JBoss应用程序,需要与HBase服务器远程交谈。当使用simple console项目时,HBase客户机工作得很好,但是当部署在JBoss服务器中时,看起来服务器没有加载类org.apache.hadoop.hdfs.web.resources.UserProvider。有人能帮忙解决问题吗?? jar common-configuration-1.6.jar common-lang