Azure HDInsight 中的区域服务器问题
本文介绍在与 Azure HDInsight 群集交互时出现的问题的故障排除步骤和可能的解决方法。
场景:未分配区域
问题
运行 hbase hbck
命令时看到如下所示的错误消息:
multiple regions being unassigned or holes in the chain of regions
在 Apache HBase Master UI 中,可以看到所有区域服务器中非均衡区域的数目。 然后,可以运行 hbase hbck
命令查看区域链中的漏洞。
原因
问题可能是区域脱机造成的。
解决方法
修复分配。 请遵循以下步骤使未分配的区域恢复为正常状态:
使用 SSH 登录到 HDInsight HBase 群集。
运行
hbase zkcli
命令连接 ZooKeeper shell。运行
rmr /hbase/regions-in-transition
或rmr /hbase-unsecure/regions-in-transition
命令。使用
exit
命令退出 Zookeeper shell。打开 Apache Ambari UI,并重启 Active HBase Master 服务。
再次运行
hbase hbck
命令(不带任何其他选项)。 检查输出并确保正在分配所有区域。
场景:区域服务器死机
问题
区域服务器无法启动。
原因
存在多个 WAL 拆分目录。
获取当前 WAL 列表:
hadoop fs -ls -R /hbase/WALs/ > /tmp/wals.out
。检查
wals.out
文件。 如果拆分目录(以 *-splitting 开头)过多,可能会导致区域服务器出现故障。
解决方法
从 Ambari 门户停止 HBase。
执行
hadoop fs -ls -R /hbase/WALs/ > /tmp/wals.out
获取 WAL 的最新列表。将 *-splitting 目录移到临时文件夹
splitWAL
,并删除 *-splitting 目录。执行
hbase zkcli
命令连接 Zookeeper shell。执行
rmr /hbase-unsecure/splitWAL
。重启 HBase 服务。
后续步骤
如果你的问题未在本文中列出,或者无法解决问题,请访问以下渠道之一获取更多支持:
- 如果需要更多帮助,可以从 Azure 门户提交支持请求。 从菜单栏中选择“支持” ,或打开“帮助 + 支持” 中心。 有关更多详细信息,请参阅如何创建 Azure 支持请求。 Microsoft Azure 订阅中带有对订阅管理和计费支持的访问权限,技术支持通过 Azure 支持计划之一提供。