场景:
dubbo项目在自己的电脑上启动没有问题,在服务器启动就报错。
报错信息如下:
[WARN] [main] [2019-08-26 20:44:04,689] getLocalAddress0(193) | [DUBBO] Failed to retrieving ip address, host-172-17-33-172: host-172-17-33-172: Name or service not known, dubbo version: 2.6.2, current host: 172.17.33.172
java.net.UnknownHostException: host-172-17-33-172: host-172-17-33-172: Name or service not known
at java.net.InetAddress.getLocalHost(InetAddress.java:1506)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:188)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.appendContextMessage(FailsafeLogger.java:40)
at com.alibaba.dubbo.common.logger.support.FailsafeLogger.warn(FailsafeLogger.java:110)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress0(NetUtils.java:193)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalAddress(NetUtils.java:180)
at com.alibaba.dubbo.common.utils.NetUtils.getLocalHost(NetUtils.java:146)
at com.alibaba.dubbo.config.ReferenceConfig.init(ReferenceConfig.java:325)
at com.alibaba.dubbo.config.ReferenceConfig.get(ReferenceConfig.java:163)
at com.alibaba.dubbo.config.spring.ReferenceBean.getObject(ReferenceBean.java:66)
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 com.alibaba.dubbo.config.AbstractConfig.toString(AbstractConfig.java:474)
at java.lang.String.valueOf(String.java:2994)
at java.lang.StringBuilder.append(StringBuilder.java:131)
at com.alibaba.dubbo.config.spring.beans.factory.annotation.AbstractAnnotationConfigBeanBuilder.build(AbstractAnnotationConfigBeanBuilder.java:79)
at com.alibaba.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.buildReferenceBean(ReferenceAnnotationBeanPostProcessor.java:385)
at com.alibaba.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.access$100(ReferenceAnnotationBeanPostProcessor.java:65)
at com.alibaba.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor$ReferenceFieldElement.inject(ReferenceAnnotationBeanPostProcessor.java:363)
at org.springframework.beans.factory.annotation.InjectionMetadata.inject(InjectionMetadata.java:90)
at com.alibaba.dubbo.config.spring.beans.factory.annotation.ReferenceAnnotationBeanPostProcessor.postProcessPropertyValues(ReferenceAnnotationBeanPostProcessor.java:92)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1341)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:572)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:495)
at org.springframework.beans.factory.support.AbstractBeanFactory.lambda$doGetBean$0(AbstractBeanFactory.java:317)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:315)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:199)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:759)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:869)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:550)
at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:140)
at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:780)
at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:412)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:333)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1277)
at org.springframework.boot.SpringApplication.run(SpringApplication.java:1265)
at com.etc.EtcHighwayCardApplication.main(EtcHighwayCardApplication.java:10)
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.boot.loader.MainMethodRunner.run(MainMethodRunner.java:48)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: java.net.UnknownHostException: host-172-17-33-172: Name or service not known
at java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method)
at java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:929)
at java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1324)
at java.net.InetAddress.getLocalHost(InetAddress.java:1501)
... 154 more
解决方案:
编辑hosts文件,添加一行
vim /etc/hosts
172.17.33.172 host-172-17-33-172
解析:
dubbo项目启动的时候需要主机名,但是识别不了host-172-17-33-172
,需要在hosts配置一下ip对应的主机名,这样dubbo就能将ip和主机名对应起来。