Zookeeper 資料問題

您目前查看的是 Apigee Edge 說明文件。
前往 Apigee X 說明文件
info

問題

資料相關問題 (通常稱為線路問題) 可能會導致下列其中一種情況:

  • 啟動管理伺服器時發生失敗
  • 部署失敗
  • 使用者介面中的資料儲存庫錯誤
  • 訊息處理器和管理伺服器之間發生跨資料中心連線問題
  • 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 Agent

    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 支援團隊聯絡。