问题现象

当您通过 CSB 调用 EDAS HSF 服务时,出现异常 HSFServiceAddressNotFoundException

可能原因

  • 环境问题,例如地址服务器、网络或命名空间问题。
  • 服务问题,例如服务本身调用异常或在 CSB 中配置有误。

解决方案

  1. 检查 CSB 实例和 EDAS 提供的 HSF 服务(简称 HSF 服务)使用的地址服务器(jmenv.tbsite.net)是否一致。
    • 在 /etc/hosts 文件中查看设置的地址服务器的 IP 是否与实际一致。
    • 在 Java 进程中查看参数 -Daddress.server.domain 配置的 IP 是否与实际一致。
    • 如果一致,进行下一步。
    • 如果不一致,修改 /etc/hosts-Daddress.server.domain
  2. 通过 Telnet,检查 CSB 实例和 HSF 服务间的网络连接是否正常。
    HSF 服务的端口为 Java 进程打开的端口,范围为 12200~12299。可以登录 EDAS 控制台,在服务管理页面查看。
    • 如果正常,进行下一步。
    • 如果不正常,排查、修改网络连接。
  3. 通过查看 Java 进程的 -Dtenant.id 参数,检查命名空间配置与实际是否一致。
    • 如果一致,进行下一步。
    • 如果不一致,修改命名空间配置。
  4. 检查 HSF 服务在 EDAS 中是否能够正常调用。
    登录 EDAS 控制台,在服务查询页面查询要调用的 HSF 服务,或者如果知道要调用的应用,在该应用详情页左侧的导航栏中单击服务列表,查看发布的服务消费的服务,确认该服务是否可以正常调用。
    • 如果能够正常调用,进行下一步。
    • 如果不能正常调用,请排查、修复服务本身的调用问题。
  5. 在 CSB 控制台中检查 HSF 服务的配置是否正确。
    登录 CSB 控制台,参考发布服务
    说明 如果该 HSF 服务在 CSB 发布了多次,需要检查该 HSF 服务的配置(例如所属服务组)是否一致。如果不一致,也会导致调用失败。
    • 如果配置正确,进行下一步。
    • 如果配置不正确,修正配置。
  6. 查看 /home/admin/configclient/snapshot/{intefaceName}:{version}/{groupName}-xxxxxxx.data 和 /home/admin/logs/hsf.log 日志中是否包含该 HSF 服务和报错信息。
    • 如果包含,根据日志信息排查、处理。
    • 如果未包含,请联系 CSB 技术支持人员。