Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Caused by: java.net.UnknownHostException: jmenv.tbsite.net #2902

Closed
mintonzhang opened this issue May 27, 2020 · 34 comments
Closed

Caused by: java.net.UnknownHostException: jmenv.tbsite.net #2902

mintonzhang opened this issue May 27, 2020 · 34 comments

Comments

@mintonzhang
Copy link

mintonzhang commented May 27, 2020

Describe what you expected to happen

启动时nacos.log 出现了如下异常:

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:110)
        at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.start(AddressServerMemberLookup.java:66)
        at com.alibaba.nacos.core.cluster.ServerMemberManager.initAndStartLookup(ServerMemberManager.java:156)
        at com.alibaba.nacos.core.cluster.ServerMemberManager.init(ServerMemberManager.java:144)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.lang.reflect.Method.invoke(Method.java:498)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleElement.invoke(InitDestroyAnnotationBeanPostProcessor.java:363)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor$LifecycleMetadata.invokeInitMethods(InitDestroyAnnotationBeanPostProcessor.java:307)
        at org.springframework.beans.factory.annotation.InitDestroyAnnotationBeanPostProcessor.postProcessBeforeInitialization(InitDestroyAnnotationBeanPostProcessor.java:136)
        ... 111 common frames omitted
Caused by: java.net.UnknownHostException: jmenv.tbsite.net
        at java.net.InetAddress.getAllByName0(InetAddress.java:1281)
        at java.net.InetAddress.getAllByName(InetAddress.java:1193)
        at java.net.InetAddress.getAllByName(InetAddress.java:1127)
        at org.apache.http.impl.conn.SystemDefaultDnsResolver.resolve(SystemDefaultDnsResolver.java:45)
        at org.apache.http.impl.conn.DefaultHttpClientConnectionOperator.connect(DefaultHttpClientConnectionOperator.java:111)
        at org.apache.http.impl.conn.PoolingHttpClientConnectionManager.connect(PoolingHttpClientConnectionManager.java:353)
        at org.apache.http.impl.execchain.MainClientExec.establishRoute(MainClientExec.java:380)
        at org.apache.http.impl.execchain.MainClientExec.execute(MainClientExec.java:236)
        at org.apache.http.impl.execchain.ProtocolExec.execute(ProtocolExec.java:184)
        at org.apache.http.impl.execchain.RetryExec.execute(RetryExec.java:88)
        at org.apache.http.impl.execchain.RedirectExec.execute(RedirectExec.java:110)
        at org.apache.http.impl.client.InternalHttpClient.doExecute(InternalHttpClient.java:184)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:82)
        at org.apache.http.impl.client.CloseableHttpClient.execute(CloseableHttpClient.java:107)
        at com.alibaba.nacos.common.http.BaseHttpClient.execute(BaseHttpClient.java:45)
        at com.alibaba.nacos.common.http.NacosSyncHttpClient.get(NacosSyncHttpClient.java:46)
        at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.syncFromAddressUrl(AddressServerMemberLookup.java:155)
        at com.alibaba.nacos.core.cluster.lookup.AddressServerMemberLookup.run(AddressServerMemberLookup.java:101)
        ... 121 common frames omitted

From the above code, I can know that jmenv.tbsite.net has no configuration mapping in the host file. But I just start nacos locally, why should I map this domain name?

By the way, it's ok on win7. the same config.

以上代码我可以得知,jmenv.tbsite.net 在host文件中没有配置映射。但是我只是本地启动一个nacos,为什么要映射这个域名?

相同配置在windows7上可正常运行

Tell us your environment

Linux version 4.19.0-8-amd64 (debian-kernel@lists.debian.org) (gcc version 8.3.0 (Debian 8.3.0-6)) #1 SMP Debian 4.19.98-1 (2020-01-26)

java version "1.8.0_251"

nacos-server-1.3.0-BETA

@mintonzhang
Copy link
Author

By the way, it's ok on win7. the same config.

@jishaofeng89
Copy link

很遗憾,我这里也有这个问题。
CentOS8,jdk11。

@jishaofeng89
Copy link

这个问题没有解决吧,怎么就关闭了呢!

@mintonzhang
Copy link
Author

是这样的,启动的时候 用bash ./startup.sh -m 模式

一定要填写模式。如果不填写 默认是default 至于default是什么样的配置我没了解过。

@jishaofeng89
Copy link

哦,好的,我再试下

@jishaofeng89
Copy link

jishaofeng89 commented May 27, 2020

关注我的简书:https://www.jianshu.com/p/8a795ff74aeb
获取答案。

@mintonzhang
Copy link
Author

666 我想你应该去研究一下 default是什么样的配置 如果只是简单的发个文章告诉读者 加上模式就行了。这样是治标不治本的

@xuw027
Copy link

xuw027 commented Jun 15, 2020

复制nacos/conf/cluster.conf.example 到nacos/conf/cluster.conf 设置ip和端口 重启服务
我修改的配置如下:
#it is ip
#example
192.168.0.103:884

@hzwjava
Copy link

hzwjava commented Jun 30, 2020

如果是ide启动的话,可以在ide的vm配置增加:-Dnacos.standalone=true
image

查看启动脚本的时候可以看到这个配置
image

@ninetwozreo
Copy link

遇到了这个问题,官方简直挖坑,ubuntu系统,sh不行,bash就可以了,做技术的能不能要点脸,这就关闭了

@mintonzhang
Copy link
Author

mintonzhang commented Jul 14, 2020 via email

@ninetwozreo
Copy link

你好,这是我关闭的。不是官方关闭的。 你再启动的时候要选择启动模式 不然会使用default的配置 就会出这个问题 On 07/14/2020 15:10, sharkme wrote: 遇到了这个问题,官方简直挖坑,ubuntu系统,sh不行,bash就可以了,做技术的能不能要点脸,这就关闭了 — You are receiving this because you modified the open/close state. Reply to this email directly, view it on GitHub, or unsubscribe.

对不起,误伤了,没有要喷你的意思,模式启动已经没有问题了,就是想吐槽下官方没做好的工作,气人

@ZhuBobi
Copy link

ZhuBobi commented Jul 15, 2020

你好,我今天同样遇见了这个问题。我在搭建nacos集群,使用外部mysql数据库作为数据源。
按照官网给的文档 https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html 下的描述
Stand-alone mode 是单机模式,启动时指定参数
sh startup.sh -m standalone

在集群模式下,使用内置数据源则需要
sh startup.sh -p embedded

那么使用外置数据源则是
sh startup.sh
即可,那么想来不指定启动模式则默认启动集群外置数据源

我今天遇到的是在集群模式下,使用外置mysql数据源,遇见了这个问题

我确认hostname在hosts中存在且没有问题,指定端口启动端口设置没有问题,但是还是遇见了这个报错
Caused by: com.alibaba.nacos.api.exception.NacosException: java.net.UnknownHostException: jmenv.tbsite.net
请问有什么好的解决思路吗?

@ninetwozreo
Copy link

你好,我今天同样遇见了这个问题。我在搭建nacos集群,使用外部mysql数据库作为数据源。
按照官网给的文档 https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html 下的描述
Stand-alone mode 是单机模式,启动时指定参数
sh startup.sh -m standalone

在集群模式下,使用内置数据源则需要
sh startup.sh -p embedded

那么使用外置数据源则是
sh startup.sh
即可,那么想来不指定启动模式则默认启动集群外置数据源

我今天遇到的是在集群模式下,使用外置mysql数据源,遇见了这个问题

我确认hostname在hosts中存在且没有问题,指定端口启动端口设置没有问题,但是还是遇见了这个报错
Caused by: com.alibaba.nacos.api.exception.NacosException: java.net.UnknownHostException: jmenv.tbsite.net
请问有什么好的解决思路吗?

可以尝试下用bash启动bash startup.sh

@ZhuBobi
Copy link

ZhuBobi commented Jul 15, 2020

你好,我今天同样遇见了这个问题。我在搭建nacos集群,使用外部mysql数据库作为数据源。
按照官网给的文档 https://nacos.io/zh-cn/docs/cluster-mode-quick-start.html 下的描述
Stand-alone mode 是单机模式,启动时指定参数
sh startup.sh -m standalone
在集群模式下,使用内置数据源则需要
sh startup.sh -p embedded
那么使用外置数据源则是
sh startup.sh
即可,那么想来不指定启动模式则默认启动集群外置数据源
我今天遇到的是在集群模式下,使用外置mysql数据源,遇见了这个问题
我确认hostname在hosts中存在且没有问题,指定端口启动端口设置没有问题,但是还是遇见了这个报错
Caused by: com.alibaba.nacos.api.exception.NacosException: java.net.UnknownHostException: jmenv.tbsite.net
请问有什么好的解决思路吗?

可以尝试下用bash启动bash startup.sh

我已经尝试过了,但是还是不行,我先去看看源码问题可能出在哪里。

@pengtenghui
Copy link

请问这个问题到底要怎么解决呀,楼上都没有给出解决方案?

@tinarooot
Copy link

还是报Caused by: java.net.UnknownHostException: jmenv.tbsite.net

@tinarooot
Copy link

你好,我今天同样遇见了这个问题。我在构建nacos扩展,使用外部MySQL数据库作为数据源。
按照官网给的文档https://nacos.io/zh-cn/docs/cluster-mode-quick- start.html下的描述
独立模式是单机模式,启动时指定参数
sh startup.sh -m standalone
在充分模式下,使用内置数据源则需要
sh startup.sh -p embedded
那么使用外置数据源则是
sh startup.sh
即可,那么想来不指定启动模式则重新启动复制外置数据源
我今天遇到的是在积累模式下,使用外置mysql数据源,遇见了这个问题
我确认主机名在主机中存在且没有问题,指定端口启动端口设置没有问题,但是还是遇见了这个报错请问
Caused by: com.alibaba.nacos.api.exception.NacosException: java.net.UnknownHostException: jmenv.tbsite.net
有什么好的解决思路吗?

可以尝试下用bash启动bash startup.sh

解决了吗

@xuw027
Copy link

xuw027 commented Aug 6, 2020

集群模式要设置cluster.conf

@ZhuBobi
Copy link

ZhuBobi commented Aug 8, 2020

说出来可能不信,太沙雕的错误了。conf中只给了一个cluster.conf.example文件,需要copy成一个cluster.conf文件再修改。

@emmerichLuang
Copy link

@xuw027 有用。

下载下来, application.properties 要配资数据库;
指定JAVA_HOME环境 (或者修改startup.sh);
另外拷贝一份cluster.conf.sample出来--> cluster.conf。

希望后面的兄弟不要再踩坑浪费时间,官方也完善一下稳定、默认配置。

@tinarooot
Copy link

tinarooot commented Aug 10, 2020 via email

@QQQZZZY
Copy link

QQQZZZY commented Aug 12, 2020

macOS,使用bash startup.sh成功启动

@tinarooot
Copy link

tinarooot commented Aug 12, 2020 via email

@jiangliuhong
Copy link

说出来可能不信,太沙雕的错误了。conf中只给了一个cluster.conf.example文件,需要copy成一个cluster.conf文件再修改。

正解。在cluster.conf里加个ip就行了

@2019ya
Copy link

2019ya commented Aug 17, 2020

在startuo.cmd 里面28行 改成单机模式就行了

@cedhryi
Copy link

cedhryi commented Aug 25, 2020

在startuo.cmd 里面28行 改成单机模式就行了

单机环境下遇到这个报错 .改运行模式确实可以解决!多谢

@itming001
Copy link

在startuo.cmd 里面28行 改成单机模式就行了

第27行 将set MODE="cluster" 修改为 MODE="standalone" 问题就解决了

@DWFLZXJ
Copy link

DWFLZXJ commented Sep 30, 2020

终于成功了,默认
image
所以需要把cluster.conf.example文件,copy成一个cluster.conf文件,里面其实不用加ip因为它会自动给你加,如果你自己加了127.0.0.1:8848反而会冲突的。
要不是上面老哥提醒我真想不到。当然在这之前还踩了一个mysql-connect-java包的坑。不容易啊

@jusm
Copy link

jusm commented Sep 13, 2021

ssss

@jemygraw
Copy link

我们在用centos6的时候,nacos 2.1.1镜像时会遇到这种问题,都换centos7版本的宿主机就可以了。

@bishopjun11
Copy link

我在WLS中启动用sh startup.sh -m standalone 会报错,
换成 bash startup.sh -m standalone 就成功了

@lieeew
Copy link

lieeew commented Nov 3, 2024

遇到了这个问题,官方简直挖坑,ubuntu系统,sh不行,bash就可以了,做技术的能不能要点脸,这就关闭了

Ubuntu Server 24.04 LTS 64bit
Java8
Nacos2.2.0

按照官方文档 sh 不行报错

Caused by: java.net.UnknownHostException: jmenv.tbsite.net
at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)

但是用 bash 就好了, 非常感谢大佬

image

@tinarooot
Copy link

tinarooot commented Nov 3, 2024 via email

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests