ZooKeeper データの問題

症状

一般に接続問題と呼ばれるデータ関連の問題は、次のいずれかの症状として現れます。

  • Management サーバーの起動時に障害が生じた
  • デプロイに失敗した
  • UI のデータストアがエラーである
  • Message Processor と Management サーバーの間のデータセンター接続に問題が発生した
  • Analytics にデータがない

これらの問題は、ZooKeeper インフラストラクチャには関連しませんが、ZooKeeper ツリーで使用できる無効なデータに関連しています。

考えられる原因

通常この問題は、次の原因によるものです。

  1. サイレント インストール ファイルが間違っていたため、インストール中にノードが正しくないリージョンまたはポッド名に接続されました。
  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
        

    Message Processor

        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 呼び出しを使用して、データストアの登録を修正します。ルーター、Message Processor、Postgres、Qpid などのコンポーネントは、起動時に ZooKeeper に自己登録します。

解決策

ZooKeeper のデータ関連の問題は、ケースバイケースで対処する必要があります。ZooKeeper のデータは、Apigee Edge トポロジに基づいており、ユースケースごとに異なります。問題の症状のうち 1 つでも見たことがあれば、前のセクションで説明したようにデータを収集し、Apigee サポートに連絡してください。