Zookeeper 資料問題

您正在查看 Apigee Edge 說明文件。
查看 Apigee X 說明文件
資訊

問題

資料相關問題 (通常稱為接線問題) 可能代表下列其中一項症狀:

  • 管理伺服器啟動期間發生錯誤
  • 部署失敗
  • UI 中的資料儲存庫錯誤
  • 訊息處理器和管理伺服器之間的跨資料中心連線問題
  • Analytics (分析) 未顯示資料

這些問題與 ZooKeeper 基礎架構無關,但與 ZooKeeper 樹狀結構中的無效資料有關。

可能原因

這個問題的常見原因如下:

  1. 在安裝期間因無訊息安裝檔案發生錯誤而連接區域或 Pod 名稱的節點。
  2. 如果元件安裝失敗,當您多次重新安裝元件時,系統會建立重複的註冊作業。在這種情況下,您必須清理資料,才能移除含有錯誤 UUID 的註冊資料。

診斷

為了診斷問題,請收集以下資料:

  1. 拓撲圖表,包含各節點的主機名稱和 IP 位址,以及節點上的 Apigee 元件。使用 Apigee 安裝設定檔的對應方式如下:
    DC-1
    DS: ip1 hostname
    DS: ip2 hostname
    DS: ip3 hostname
    MS: ip4 hostname
    RMP: ip5 hostname
    RMP: ip6 hostname
    SAX: ip7 hostname
    
    DC-2
    DS: ip8 hostname
    DS: ip9 hostname
    DS: ip10 hostname
    MS: ip11 hostname
    RMP: ip12 hostname
    RMP: ip13 hostname
    SAX: ip14 hostname
    
  2. 產生 ZooKeeper 樹狀結構輸出內容來檢查線路:
    /opt/apigee/apigee-zookeeper/contrib/zk-tree.sh > zk-tree-output.txt
    
  3. 為方便驗證 ZooKeeper 樹狀結構中的資料,請執行下列管理 API 呼叫,取得各資料中心的伺服器 UUID 清單:

    閘道伺服器

    curl -u sysadmin@email.com "http://management-server-host:8080/v1/servers?pod=gateway&region=region-name"
    

    中央伺服器

    curl -u sysadmin@email.com "http://management-server-host:8080/v1/servers?pod=central&region=region-name"
    

    Analytics (分析) 伺服器

    curl -u sysadmin@email.com "http://management-server-host:8080/v1/servers?pod=analytics&region=region-name"
    
  4. 檢查每個元件的 UUID,並確認這些元件與 ZooKeeper 樹狀結構中顯示的內容相符:

    路由器

    curl 0:8081/v1/servers/self/uuid
    

    訊息處理器

    curl 0:8082/v1/servers/self/uuid
    

    Qpid 代理程式

    curl 0:8083/v1/servers/self/uuid
    

    Postgres 代理程式

    curl 0:8084/v1/servers/self/uuid
    
  5. 使用 UUID 資料搜尋步驟 #2 產生的 ZooKeeper 樹狀結構輸出內容,藉此驗證元件線路,並移除所有 UUID 有誤的元件重複註冊。
  6. 請使用 這裡列出的管理 API 呼叫來修正資料儲存庫註冊資訊。在啟動期間,路由器、訊息處理器、Postgres 和 Qpid 自助註冊至 ZooKeeper。

解析度

ZooKeeper 資料相關問題必須依個案情況解決。ZooKeeper 中的資料以 Apigee Edge 拓撲為基礎,因用途而異。如果遇到其中一個問題症狀,請按照上一節的說明收集資料,並與 Apigee Edge 支援團隊聯絡。