开发者社区 > 云原生 > 正文

Nacos,这个问题怎么解决?

(nacos:9848)] Failed to resolve name. status=Status{code=UNAVAILABLE, description=Unable to resolve host nacos,这个问题怎么解决?

展开
收起
奔放或澜 2023-12-04 21:08:44 212 0
3 条回答
写回答
取消 提交回答
  • nacos启动 Server check fail, please check server localhost ,port 9848 is available

    https://blog.csdn.net/jinxinxin1314/article/details/130881716

    2023-12-05 16:19:43
    赞同 展开评论 打赏
  • 北京阿里云ACE会长

    2023年12月04日22:20:44

    image.png

    如何解决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命令

    执行如下命令安装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命令

    使用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故障原因。
    

    参考

    Nacos

    https://help.aliyun.com/zh/mse/user-guide/nacos/?spm=a2c4g.11186623.0.i2

    2023年12月04日22:45:24

    2023-12-04 22:47:45
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    这个问题可能是由于以下原因导致的:

    1. Nacos服务没有启动或者启动失败。请检查Nacos服务的日志,看是否有错误信息。

    2. 网络问题。请检查您的网络连接是否正常,以及防火墙设置是否允许访问9848端口。

    3. DNS解析问题。如果您的服务器没有正确配置DNS解析,可能会导致无法解析nacos的主机名。您可以尝试在服务器上使用ping nacos命令来测试DNS解析是否正常。

    4. 如果以上都没有问题,您可以尝试重启Nacos服务,看是否能解决问题。

    2023-12-04 21:46:21
    赞同 展开评论 打赏
问答分类:
问答地址:

阿里云拥有国内全面的云原生产品技术以及大规模的云原生应用实践,通过全面容器化、核心技术互联网化、应用 Serverless 化三大范式,助力制造业企业高效上云,实现系统稳定、应用敏捷智能。拥抱云原生,让创新无处不在。

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载