seata和nacos合成时,启动seata报错
15:14:37.441 INFO --- [ main] io.seata.config.FileConfiguration : The file name of the operation is registry
15:14:37.452 INFO --- [ main] io.seata.config.FileConfiguration : The configuration file used is /usr/local/src/seata/conf/registry.conf
15:14:40.452 INFO --- [ main] com.alibaba.druid.pool.DruidDataSource : {dataSource-1} inited
15:14:40.718 WARN --- [ main] io.seata.common.util.NetUtil : Failed to retrieving ip address, fan001: fan001: 未知的名称或服务
==>
java.net.UnknownHostException: fan001: fan001: 未知的名称或服务
at java.net.InetAddress.getLocalHost(InetAddress.java:1505) ~[na:1.8.0_131]
at io.seata.common.util.NetUtil.getLocalAddress0(NetUtil.java:153) [seata-common-1.4.2.jar:na]
at io.seata.common.util.NetUtil.getLocalAddress(NetUtil.java:145) [seata-common-1.4.2.jar:na]
at io.seata.common.util.NetUtil.getLocalIp(NetUtil.java:122) [seata-common-1.4.2.jar:na]
at io.seata.server.Server.main(Server.java:93) [seata-server-1.4.2.jar:na]
Caused by: java.net.UnknownHostException: fantai001: 未知的名称或服务
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) ~[na:1.8.0_131]
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) ~[na:1.8.0_131]
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) ~[na:1.8.0_131]
at java.net.InetAddress.getLocalHost(InetAddress.java:1500) ~[na:1.8.0_131]
... 4 common frames omitted
<==
但是服务好像起来了,不知道有没有什么影响?
看起来, InetAddress.getLocalHost()忽略了/etc/resolv.conf,但只查看/ etc / hosts文件(我除了localhost之外没有指定任何东西)。 将IP和主机名添加到该文件解决了这个问题,exception消失了。
上面的答案几乎是正确的,我从上面提示,我的问题得到解决…谢谢。
但为了改善这一点,我正在逐步添加更改,以便对于天真的用户来说也是很有帮助的。
脚步:
打开/ etc / hosts,条目可能如下所示。
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
你需要通过像vi或gedit这样的编辑器来添加更多的行。
localhost例如。
192.168.1.73 my_foo localhost
现在,整体文件可能如下所示:
192.168.1.73 my_foo localhost
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
只需保存并再次运行您的Java代码即可完成工作。