Zookeeper 数据问题

您正在查看 Apigee Edge 文档。
转到 Apigee X 文档。
info

问题

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

  • 管理服务器启动期间发生故障
  • 部署失败
  • New Edge 界面上出现数据存储区错误
  • 消息处理器和管理服务器之间存在跨数据中心连接问题
  • 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 树中的数据,请运行以下 Management 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"

    Google 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. 使用 此处列出的 Management API 调用来更正数据存储区注册。路由器、消息 处理器、Postgres 和 Qpid 等组件会在启动时自行注册到 ZooKeeper。

分辨率

需要根据具体情况解决与 ZooKeeper 数据相关的问题。ZooKeeper 中的数据基于 Apigee Edge 拓扑,并且因每个用例而异。如果遇到其中一个问题 症状,请按照上一部分中的说明收集数据,然后 与 Apigee Edge 支持团队联系。