(nacos:9848)] Failed to resolve name. status=Status{code=UNAVAILABLE, description=Unable to resolve host nacos,这个问题怎么解决?
nacos启动 Server check fail, please check server localhost ,port 9848 is available
https://blog.csdn.net/jinxinxin1314/article/details/130881716
2023年12月04日22:20:44
如何解决MSE Nacos实例域名无法解析的问题?
问题现象
当程序连接MSE Nacos出现实例域名无法解析时,可能会有如下几种报错。
UnknownHostException
No route to host
Unable to resolve host
问题原因
应用节点所配置的DNS服务器或NameServer不正确,导致无法解析MSE域名。
容器未使用宿主机的DNS服务器或NameServer,或网络模式错误,导致无法解析MSE域名。
应用节点所配置的DNS服务器或NameServer故障,特别是Kubernetes集群所依赖的CoreDNS故障,导致无法解析MSE域名。
解决方案
执行如下命令安装dig工具。
yum install -y bind-utils
如下代码所示,使用dig命令,尝试解析域名,并查看status和SERVER字段是否能够正常地解析域名。
若status值为NOERROR,以及SERVER字段使用的DNS服务器或NameServer正确,表明域名正常解析。
dig ${mse.nacos.host}
; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.1.alios7.2 <<>> ${mse.nacos.host}
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NXDOMAIN ## 确认这个字段, id: 46791
;; flags: qr rd ra; QUERY: 1, ANSWER: 0, AUTHORITY: 1, ADDITIONAL: 0
;; QUESTION SECTION:
;${mse.nacos.host}. IN A
;; AUTHORITY SECTION:
com. 900 IN SOA a.gtld-servers.net. nstld.verisign-grs.com. 1670413473 1800 900 604800 86400
;; Query time: 0 msec
## 确认这个字段
;; SERVER: yyy.yyy.yyy.yyy#zz(...)
;; WHEN: Wed Dec 07 19:39:32 CST 2022
;; MSG SIZE rcvd: 73
如果dig命令无法正常解析域名,采用以下方式修复:
如果您的环境是通过ECS部署,请记录SERVER字段中的DNS服务器和NameServer地址信息,并提工单联系ECS或网络技术支持协助排查域名解析失败的原因。
如果您的环境是通过Docker或Kubernetes部署,请退出到宿主机或Node上再次执行dig命令尝试解析。
如果解析成功,说明是网络模式错误或容器内外的DNS服务器和NameServer设置不同,尝试修改部署的网络模式,或将Node上的/etc/resolv.conf配置移植到容器中重试。
如果无法解析,请提工单联系ECS或网络技术支持协助排查域名解析失败的原因。
如果执行dig命令可以正常解析,且应用已经恢复不再出现异常,说明是DNS服务器或NameServer出现故障。请提工单联系网络技术支持协助排查DNS服务器或NameServer故障原因。
如果使用的是ACK,请提工单联系ACK技术支持协助排查CoreDNS故障原因。
使用ping ${mse.nacos.host}指令尝试解析。
如果提示unknown host,则无法解析域名。
如果提示PING ${mse.nacos.host} (xxx.xx.xx.xx) 56(84) bytes of data.,则解析成功。
如果执行ping命令无法正常解析,可查看文件/etc/resolv.conf的内容,获取DNS服务器和NameServer地址信息,尝试采用以下方式修复:
如果您的环境是通过ECS部署,请记录/etc/resolv.conf中的内容,并提工单联系ECS或网络技术支持协助排查域名解析失败的原因。
如果您的环境是通过Docker或Kubernetes部署,请退出到宿主机或Node上再次执行ping命令尝试解析。
如果解析成功,说明是网络模式错误或容器内外的DNS服务器和NameServer设置不同,尝试修改部署的网络模式,或将Node上的/etc/resolv.conf配置移植到容器中重试。
如果无法解析,请提工单联系ECS或网络技术支持协助排查域名解析失败的原因。
如果执行ping命令可以正常解析,且应用已经恢复不再出现异常,说明是DNS服务器或NameServer出现故障。请提工单联系网络技术支持协助排查DNS服务器或NameServer故障原因。
如果使用的是ACK集群,请提工单联系ACK技术支持协助排查CoreDNS故障原因。
参考
https://help.aliyun.com/zh/mse/user-guide/nacos/?spm=a2c4g.11186623.0.i2
2023年12月04日22:45:24
这个问题可能是由于以下原因导致的:
Nacos服务没有启动或者启动失败。请检查Nacos服务的日志,看是否有错误信息。
网络问题。请检查您的网络连接是否正常,以及防火墙设置是否允许访问9848端口。
DNS解析问题。如果您的服务器没有正确配置DNS解析,可能会导致无法解析nacos的主机名。您可以尝试在服务器上使用ping nacos
命令来测试DNS解析是否正常。
如果以上都没有问题,您可以尝试重启Nacos服务,看是否能解决问题。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。