情節:Azure HDInsight 中的 Apache Phoenix 連線問題

本文說明與 Azure HDInsight 叢集互動時,若遇到問題,能使用哪些疑難排解步驟和可能的解決方案。

問題

無法使用 Apache Phoenix 連線到 Apache HBase。 有很多種可能的原因。

原因:不正確的 IP

作用中 Zookeeper 節點的 IP 不正確。

解決方案

作用中 Zookeeper 節點的 IP 可以從 Ambari UI 識別,方法是遵循 [HBase] > [快速連結] > [ZK (作用中)] > [Zookeeper 資訊] 的連結。 視需要更正 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 的連線問題應該就會自動解決。

後續步驟

如果您沒有看到您的問題,或無法解決您的問題,請瀏覽下列其中一個管道以取得更多支援:

  • 透過 Azure 社群支援獲得由 Azure 專家所提供的解答。

  • 連線至 @AzureSupport,這是用來改善客戶體驗的官方 Microsoft Azure 帳戶。 將 Azure 社群連線到正確的資源:解答、支援和專家。

  • 如果需要更多協助,您可在 Azure 入口網站提交支援要求。 從功能表列中選取 [支援] 或開啟 [說明 + 支援] 中樞。 如需詳細資訊,請參閱如何建立 Azure 支援要求。 您可透過 Microsoft Azure 訂用帳戶來存取訂閱管理和帳單支援,並透過其中一項 Azure 支援方案以取得技術支援。