Zookeeper 数据问题

您正在查看 Apigee Edge 文档。
前往 Apigee X 文档
信息

问题

与数据相关的问题(通常称为接线问题)可能会表现为以下症状之一:

  • 管理服务器启动期间的故障
  • 部署失败
  • 界面上的数据存储区错误
  • 消息处理器和管理服务器之间存在跨数据中心连接问题
  • Google 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 树中看到的 UUID 一致:

    路由器

    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 支持团队联系。