应用启动不成功-注册中心排查思路

排查流程

应用启动不成功,怀疑注册中心有问题时,请按照如下流程排查:

111

  1. 使用以下命令查看是否有 9600 端口的连接。

    netstat -anlp | grep 9600
    • 如果没有 9600 端口的连接,需确认 ACVIP 配置是否正确。

      确认方法为:查看 /home/admin/conf/acvipjava-client-cache/domains/ 下的 *-DSR_CLOUD.json 文件是否有内容并查看内容是否更新及时。

      • 有内容,且内容更新及时:

        查看注册中心启动日志,找连接失败原因。查看日志命令如下:

        tail -n 50 /home/admin/logs/registry/registry-client.log
      • 无内容或内容更新不及时:

        1. 检查 com.alipay.env=share,com.antcloud.antvip.endpoint=IP҅ 配置是否正确。

        2. 查看 /home/admin/logs/acvip-java-client/api-stat.log 日志是否有报错。

        3. 测试是否可以拉取到配置,测试命令如下:

          curl -i -XPOST {acvip࣎ࣈ:{9003/antcloud/antvip/
          instances/get -d '{"vipDomainName2ChecksumMap”:{“domain 名称:”N”}}’
          
    • 有 9600 连接执行步骤 2。

  2. 查看 registry 日志(老版本查看 confreg 日志)。

    查看 registry 日志方法如下:

    • 执行 tail -n 50 /home/admin/logs/registry/registry-client.log 命令查看启动日志。

    • 执行 grep "DsrSubscribeCallback" /home/admin/logs/rpc/rpc-registry.log -A 2 命令查看 sub 日志,确认是否订阅到有效节点。

      • 订阅不到服务:

        1. 执行 curl http://:9603/digest/pushSwitch 命令查看注册中心 push 开关是否打开。

        2. 询问服务提供方的服务是否正常,其他订阅者是否正常。

        3. 是否有双机房配置,确认服务提供方和消费方在同一机房。

        4. 查看机器连接的 session 是否有 sub 记录,查看命令如下:

          curl -XPOST -H "Content-Type: application/
          json" -d '["10.10.0.141:51508"]' localhost:9603/digest/sub/connect/query
        5. 查看 data 上的 datainfopub 信息,查看命令如下:

          curl http://localhost:9622/digest/datum/query?
          dataId="com.alipay.sofa.cloud.middleware.service.id"\&group="DEFAULT_GROUP"\&instanceId
      • 能订阅到服务,查看 pub 日志。

    • 执行 grep "register to server success" /home/admin/logs/registry/registryclient.log 命令查看 pub 日志。

      若 pub 端有日志,其他服务订阅不到,或者数量不对。请按照如下步骤排查:

      1. 执行 curl http://:9603/digest/pushSwitch 命令查看注册中心 push 开关是否打开。

      2. 是否有双机房配置,确认服务提供方和消费方在同一机房。

      3. 查看机器连接的 session 是否有 pub 记录,查看命令如下:

        curl -XPOST -H "Content-Type: application/json" -d '["10.10.0.141:51508"]' localhost:9603/digest/pub/connect/query
      4. 查看 data 上的 datainfopub 信息,查看命令如下:

        curl http://localhost:9622/digest/datum/query?
        dataId="com.alipay.sofa.cloud.middleware.service.id"\&group="DEFAULT_GROUP"\&instanceId="000001"