nacos报错Caused by: com.alibaba.nacos.api.exception.NacosException: java.net.UnknownHostException: jme

  • 下载nacos,运行startup.cmd 启动报错,具体如下

Caused by: com.alibaba.nacos.api.exception.NacosException: java.net.UnknownHostException: jmenv.tbsite.net
    at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.run(AddressServerMemberLookup.java:122)
    at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.start(AddressServerMemberLookup.java:74)
    at com.alibaba.nacos.core.cluster.ServerMemberManager.initAndStartLookup(ServerMemberManager.java:155)
    at com.alibaba.nacos.core.cluster.ServerMemberManager.init(ServerMemberManager.java:144)
    at com.alibaba.nacos.core.cluster.ServerMemberManager.<init>(ServerMemberManager.java:129)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:490)
    at org.springframework.beans.BeanUtils.instantiateClass(BeanUtils.java:175)
    ... 108 common frames omitted
Caused by: java.net.UnknownHostException: jmenv.tbsite.net
    at java.base/java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:220)
    at java.base/java.net.Socket.connect(Socket.java:609)
    at java.base/sun.net.NetworkClient.doConnect(NetworkClient.java:177)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:474)
    at java.base/sun.net.www.http.HttpClient.openServer(HttpClient.java:569)
    at java.base/sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
    at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:341)
    at java.base/sun.net.www.http.HttpClient.New(HttpClient.java:362)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1253)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1187)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1081)
    at java.base/sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:1015)
    at com.alibaba.nacos.common.http.client.request.JdkHttpClientRequest.execute(JdkHttpClientRequest.java:109)
    at com.alibaba.nacos.common.http.client.NacosRestTemplate.execute(NacosRestTemplate.java:482)
    at com.alibaba.nacos.common.http.client.NacosRestTemplate.get(NacosRestTemplate.java:72)
    at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.syncFromAddressUrl(AddressServerMemberLookup.java:145)
    at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.run(AddressServerMemberLookup.java:113)
    ... 117 common frames omitted
  • 处理办法

使用standalone模式启动:

windows下 cmd startup.cmd -m standalone
linux下sh startup.sh -m standalone

如果还是希望以集群模式启动, 在nacos/conf目录下,将文件 cluster.conf.example 复制一份,重命名未cluster.conf,并将所有内容注释,重新启动


  • 源码分析
    下载源码https://github.com/alibaba/nacos
    报错中的堆栈信息 定位到异常来源

    at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.run(AddressServerMemberLookup.java:122)
    at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.start(AddressServerMemberLookup.java:74)
    at com.alibaba.nacos.core.cluster.ServerMemberManager.initAndStartLookup(ServerMemberManager.java:155)
    at com.alibaba.nacos.core.cluster.ServerMemberManager.init(ServerMemberManager.java:144)

代码截图:

LookupFactory.createLookUp(ServerMemberManager).jpg

LookupFactory.chooseLookup()

当nacos以集群模式启动时,方法内的chooseLookup 方法,默认会检查nacos/conf目录下是否存在 cluster.conf文件,如果不存在,返回LookupType.ADDRESS_SERVER,如果存在, 返回LookupType.FILE_CONFIG
根据LookupType ,LookupFactory.createLookUp方法返回FileConfigMemberLookupAddressServerMemberLookup
这会在 ServerMemberManager 中,调用 实例的start() 方法

因此,当cnacos未找到cluster.conf,且是以集群模式(默认)启动时,会报错误

当然,根据源码,也可以在application.properties中配置 nacos.core.member.lookup.type=file

记录贴,原文地址:启动nacos 报错 com.alibaba.nacos.api.exception.NacosException: java.net.UnknownHostException: jmenv.t... - 简书

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值