场景:Azure HDInsight 中的 Apache Phoenix 连接问题

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

问题

无法使用 Apache Phoenix 连接到 Apache HBase。 原因可能有所不同。

原因:IP 不正确

活动 Zookeeper 节点的 IP 不正确。

解决方法

可以通过打开指向“HBase”>“快速链接”>“ZK(活动)”>“ZooKeeper 信息”的链接,从 Ambari UI 确定活动 ZooKeeper 节点的 IP。 根据需要更正 IP。


原因:SYSTEM.CATALOG 表脱机

运行 !tables 等命令时,会收到类似于以下内容的错误消息:

Error while connecting to sqlline.py (Hbase - phoenix) Setting property: [isolation, TRANSACTION_READ_COMMITTED] issuing: !connect jdbc:phoenix:10.2.0.7 none none org.apache.phoenix.jdbc.PhoenixDriver Connecting to jdbc:phoenix:10.2.0.7 SLF4J: Class path contains multiple SLF4J bindings.

运行 count 'SYSTEM.CATALOG' 等命令时,会收到类似于以下内容的错误消息:

ERROR: org.apache.hadoop.hbase.NotServingRegionException: Region SYSTEM.CATALOG,,1485464083256.c0568c94033870c517ed36c45da98129. is not online on 10.2.0.5,16020,1489466172189)

解决方法

从 Apache Ambari UI 完成以下步骤,以在所有 ZooKeeper 节点上重启 HMaster 服务:

  1. 从 HBase 的“摘要”部分,转到“HBase”>“Active HBase Master”。

  2. 从“组件”部分重启 HBase Master 服务。

  3. 为所有剩余的“Standby HBase Master”服务重复以上步骤。

HBase Master 服务最多可能需要五分钟才能稳定下来并完成恢复。 在 SYSTEM.CATALOG 表恢复正常后,与 Apache Phoenix 的连接问题应该会自动得到解决。