Zookeeper 数据问题

您正在查看的是 Apigee Edge 文档。
转到 Apigee X 文档
信息

问题

数据相关问题(通常称为布线问题)可以表现为以下症状之一:

  • 管理服务器启动过程中出现故障
  • 部署失败
  • 界面上的 Datastore 错误
  • 消息处理器和管理服务器之间的跨数据中心连接问题
  • 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"
    

    分析服务器

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