场景: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 服务:
从 HBase 的“摘要”部分,转到“HBase”>“Active HBase Master”。
从“组件”部分重启 HBase Master 服务。
为所有剩余的“Standby HBase Master”服务重复以上步骤。
HBase Master 服务最多可能需要五分钟才能稳定下来并完成恢复。 在 SYSTEM.CATALOG
表恢复正常后,与 Apache Phoenix 的连接问题应该会自动得到解决。