1

当我有一段时间没有与 HBase 沟通时,我得到了这个异常:

org.apache.hadoop.hbase.client.NoServerForRegionException:尝试定位根区域时超时,因为:连接被拒绝

这是否与会话到期有关,如果是,我如何延长会话寿命?

4

4 回答 4

1

查询bin/hbase hbck并查找根Regionserver在哪台机器上运行..

你应该-ROOT- is okay上hbck。确保您的所有 Regionserver 都已启动并正在运行。

用于start regionserver启动区域服务器

于 2013-02-01T15:17:01.737 回答
0

我认为这与会话生命周期没有任何关系。

检查您的集群以确保它已启动并正常工作并且所有区域服务器都处于活动状态。然后检查日志以确保它们没有报告某些错误状态。

HBase 是复杂的软件——如果没有更详细的信息,很难诊断出发生了什么。通常,您可以通过收集更详细的信息来发现问题。

于 2011-01-18T16:20:29.293 回答
0

此错误表明客户端无法与区域服务器通信。检查与其尝试连接的区域关联的区域服务器并检查它。

要识别与区域关联的区域服务器,请通过http://hbase.apache.org/0.94/book/regions.arch.html#regions.arch.assignment

于 2015-05-13T06:10:44.993 回答
0

一些因素在这里发挥了作用。

请注意当您尝试从客户端连接到 Hbase 时发生的以下步骤,

  1. Hbase 连接到 Zookeeper 以获取托管 ROOT 表的区域服务器的 Ip。
  2. 客户端会缓存有关 IP 的这些信息,这样它就不必再次联系 Zookeeper。

您的问题是,您的客户端正在尝试连接到 zookeeper 以获取 IP。以下事情之一可能会出错,

  1. 您的客户端无法连接到 zookeeper。
  2. ZooKeeper中Znode中包含的ROOT信息是错误的。

可能的修复。

  1. 检查您的动物园管理员是否工作正常。

  2. 在 Zookeeper 中删除 Hbase 的 Znode 并重新启动集群。不用担心,这不会删除您的数据。

一旦实现?客户端可以获取ROOT信息,然后查询META表没有任何问题。

于 2015-11-09T07:08:17.217 回答