消息队列 RocketMQ 版报错 “Can not find name server”,如何解决?
如果 onsaddr 配置错误,日志中会报以下错误:
"Exception in thread "main" com.aliyun.openservices.ons.api.exception.ONSClientException: Cannot find name server. Please check your network connection." 这时,请检查以下几点。 是否违背部署限制,详见主账号快速入门中步骤二:创建资源关于创建 Topic 的注意事项。 检查本地和接入点之间的网络连接情况。 若 Topic 在公网环境: 措施:ping onsaddr-internet.aliyun.com 正常情况下,会解析到112.124.141.195。 若 Topic 在生产环境: 措施:ping onsaddr-internal.aliyun.com 正常情况下,会解析到 100.100.25.94/95。 如果无法解析接入点地址,请在本地机器上增加 DNS 223.5.5.5,增加 DNS 223.5.5.5 成功后,可查看到:
另外,消息队列 RocketMQ 版无法设置代理,如果用户使用公网环境,在申请开通安全策略时,需要将以下四个地址(端口80和8080)加入开通列表: 112.124.141.191 112.124.141.195 115.28.250.94 115.28.250.95 尝试通过 curl 的方式从接入点获取 name server 的元数据信息。 若 Topic 在生产环境:
curl http://onsaddr-internal.aliyun.com:8080/rocketmq/nsaddr4client-internal 返回 100.100.26.1:8080;100.100.26.2:8080;100.100.25.96:8080 则为正常。 若 Topic 在公网环境:
curl http://onsaddr-internet.aliyun.com/rocketmq/nsaddr4client-internet 返回 112.124.141.191:80 则为正常。 如问题还未解决,请提交工单。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/