Java.net.UnknownHostException
Я устанавливаю CSVN с помощью jdk1.6.0_23, и я получаю следующую ошибку 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). Я добавил запись в файл hosts ниже localhost, содержащий следующее:
127.0.0.1 vkqgae01
Я могу успешно выполнить ping vkqgae01, но nslookup не может его решить.
Любые идеи?
Ответы
Ответ 1
Это связано с
имя хоста
и
/и т.д./хосты
Если/etc/hosts не содержит определения имени хоста, он не работает. Просто добавьте свое имя хоста в /etc/host, например, если ваше имя хоста работает, добавьте или измените следующую строку:
127.0.0.1 work localhost
Ответ 2
Я могу успешно выполнить ping vkqgae01, но nslookup не может его решить.
Любые идеи?
Что происходит?
-
vkqgae01
разрешается локально благодаря файлу ваших хостов.
- nslookup отправляет запрос на ваш DNS, где
vkqgae01
неизвестно.
Предложение: добавьте vkqgae01
к файлу каждого, где вы его используете.
В принципе, тот факт, что файл локальных хостов на vkqgae01 содержит 127.0.0.1 localhost vkqgae01
, не помогает другим машинам решать его имя.
Ответ 3
Просто добавила строку ниже в /etc/hosts, и она сработала.
127.0.0.1 imac
Ответ 4
nslookup запрашивает DNS специально и напрямую. Это означает, что он не сможет показать что-либо, добавленное непосредственно в файл /etc/hosts (поскольку это не DNS).
Если вы хотите правильно убедиться, что ваша система решит имя, используйте getent:
'getent hosts vkqgae01'
Ответ 5
Необходимо перезапустить контейнер, если был изменен /etc/hosts, поскольку JVM кэширует локальные адреса/имена при первом вызове InetAddress
. Это выглядит как ошибка реализации InetAddress
, но все еще не исправлена.