Azure HDInsight 中的区域服务器问题

本文介绍在与 Azure HDInsight 群集交互时出现的问题的故障排除步骤和可能的解决方法。

场景:未分配区域

问题

运行 hbase hbck 命令时看到如下所示的错误消息:

multiple regions being unassigned or holes in the chain of regions

在 Apache HBase Master UI 中,可以看到所有区域服务器中非均衡区域的数目。 然后,可以运行 hbase hbck 命令查看区域链中的漏洞。

原因

问题可能是区域脱机造成的。

解决方法

修复分配。 请遵循以下步骤使未分配的区域恢复为正常状态:

  1. 使用 SSH 登录到 HDInsight HBase 群集。

  2. 运行 hbase zkcli 命令连接 ZooKeeper shell。

  3. 运行 rmr /hbase/regions-in-transitionrmr /hbase-unsecure/regions-in-transition 命令。

  4. 使用 exit 命令退出 Zookeeper shell。

  5. 打开 Apache Ambari UI,并重启 Active HBase Master 服务。

  6. 再次运行 hbase hbck 命令(不带任何其他选项)。 检查输出并确保正在分配所有区域。


场景:区域服务器死机

问题

区域服务器无法启动。

原因

存在多个 WAL 拆分目录。

  1. 获取当前 WAL 列表:hadoop fs -ls -R /hbase/WALs/ > /tmp/wals.out

  2. 检查 wals.out 文件。 如果拆分目录(以 *-splitting 开头)过多,可能会导致区域服务器出现故障。

解决方法

  1. 从 Ambari 门户停止 HBase。

  2. 执行 hadoop fs -ls -R /hbase/WALs/ > /tmp/wals.out 获取 WAL 的最新列表。

  3. 将 *-splitting 目录移到临时文件夹 splitWAL,并删除 *-splitting 目录。

  4. 执行 hbase zkcli 命令连接 Zookeeper shell。

  5. 执行 rmr /hbase-unsecure/splitWAL

  6. 重启 HBase 服务。

后续步骤

如果你的问题未在本文中列出,或者无法解决问题,请访问以下渠道之一获取更多支持:

  • 如果需要更多帮助,可以从 Azure 门户提交支持请求。 从菜单栏中选择“支持” ,或打开“帮助 + 支持” 中心。 有关更多详细信息,请参阅如何创建 Azure 支持请求。 Microsoft Azure 订阅中带有对订阅管理和计费支持的访问权限,技术支持通过 Azure 支持计划之一提供。