的java.net.UnknownHostException
我正在使用jdk1.6.0_23安装CSVN,并且出现以下Java错误:
2011-02-10 16:25:50,951 [WrapperJarAppMain] WARN util.GrailsUtil - [WARNING] Property [ldapServerPort] of domain class com.collabnet.svnedge.console.Server has type [int] and doesn't support constraint [nullable]. This constraint will not be checked during validation. 2011-02-10 16:25:51,117 [WrapperJarAppMain] ERROR ehcache.Cache - Unable to set localhost. This prevents creation of a GUID. Cause was: vkqgae01: vkqgae01 java.net.UnknownHostException: vkqgae01: vkqgae01 at java.net.InetAddress.getLocalHost(InetAddress.java:1354) at net.sf.ehcache.Cache.<clinit>(Cache.java:143)
我的服务器有3个网卡(eth0,eth1和eth2)。 我已经添加了一个条目到主机文件bellow localhost包含以下内容:127.0.0.1 vkqgae01
我可以成功ping通vkqgae01,但nslookup无法解决它。
有任何想法吗?
这与…有关
主机名
和
/ etc / hosts文件
如果/ etc / hosts不包含主机名的定义,则失败。 只需将你的主机名添加到/ etc / host,例如你的主机名是工作添加或修改下面一行:
127.0.0.1 work localhost
我可以成功ping通vkqgae01,但nslookup无法解决它。
有任何想法吗?
怎么了?
- 由于您的主机文件,
vkqgae01
在本地解决。 - nslookup发送一个查询到您的DNS,其中
vkqgae01
是未知的。
build议:将vkqgae01
添加到您“使用”的每台机器的hosts文件中。
基本上,vkqgae01上的本地主机文件包含127.0.0.1 localhost vkqgae01
并不能帮助其他机器解决它的名字。
在/ etc / hosts中添加下面的行,它就起作用了。
imac
nslookup具体直接查询DNS。 这意味着它将不能显示任何直接添加到/ etc / hosts文件(因为这不是DNS)。 如果你想确保你的系统能够parsing一个名字,使用getent:'getent hosts vkqgae01'
如果/ etc / hosts被更改,则需要重新启动容器,只要JVM在第一个InetAddress
调用中caching本地地址/名称即可。 它看起来像InetAddress
实现的错误,但仍然没有修复。