当我有一段时间没有与 HBase 沟通时,我得到了这个异常:
org.apache.hadoop.hbase.client.NoServerForRegionException:尝试定位根区域时超时,因为:连接被拒绝
这是否与会话到期有关,如果是,我如何延长会话寿命?
查询bin/hbase hbck
并查找根Regionserver在哪台机器上运行..
你应该-ROOT- is okay
上hbck。确保您的所有 Regionserver 都已启动并正在运行。
用于start regionserver
启动区域服务器
我认为这与会话生命周期没有任何关系。
检查您的集群以确保它已启动并正常工作并且所有区域服务器都处于活动状态。然后检查日志以确保它们没有报告某些错误状态。
HBase 是复杂的软件——如果没有更详细的信息,很难诊断出发生了什么。通常,您可以通过收集更详细的信息来发现问题。
此错误表明客户端无法与区域服务器通信。检查与其尝试连接的区域关联的区域服务器并检查它。
要识别与区域关联的区域服务器,请通过http://hbase.apache.org/0.94/book/regions.arch.html#regions.arch.assignment
一些因素在这里发挥了作用。
请注意当您尝试从客户端连接到 Hbase 时发生的以下步骤,
您的问题是,您的客户端正在尝试连接到 zookeeper 以获取 IP。以下事情之一可能会出错,
可能的修复。
检查您的动物园管理员是否工作正常。
在 Zookeeper 中删除 Hbase 的 Znode 并重新启动集群。不用担心,这不会删除您的数据。
一旦实现?客户端可以获取ROOT信息,然后查询META表没有任何问题。