В настоящее время URL-адреса, сгенерированные программой jobtracker и namenode, возвращают либо имена хостов, такие как bubble.local, либо просто пузырьки. Они не разрешаются, если клиентский компьютер не указал их в своем файле / etc / hosts.
Когда я запускаю hostname
на этих машинах он возвращает имя хоста вместе с доменом (например, bubble.example.com)
Запуск небольшого java-теста на этих машинах
InetAddress addr = InetAddress.getLocalHost();
byte[] ipAddr = addr.getAddress();
String hostname = addr.getHostName();
System.out.println(hostname);
Производит вывод так же, как hostname
команда.
Где еще hadoop мог получить имя хоста для использования в своем пользовательском интерфейсе jobtracker / namenode?
Это происходит в кластерах с Hadoop 1.0.3 и 1.0.4-SNAPSHOT с начала августа. Машины работают под управлением CentOS версии 5.8 (Final).
Сгенерированные URL-адреса, о которых я говорю, выглядят следующим образом
http://example:50075/browseDirectory.jsp?namenodeInfoPort=50070&dir=/
или http://example.local:50075/browseDirectory.jsp?namenodeInfoPort=50070&dir=/
Мне удалось заставить WebUI использовать полное имя хоста, выполнив следующие действия.
На каждом подчиненном узле и главном узле /etc/hosts
файл был изменен примерно так:
127.0.0.1 machine1.example.com machine1 localhost
#These 4 lines appear on all of the machines
1.2.3.3 machine1.example.com machine1
1.2.3.4 machine2.example.com machine2
1.2.3.5 machine3.example.com machine3
1.2.3.6 machine4.example.com machine4
Теперь, когда я нажимаю URL-адреса в трекере задач или веб-инструменте hdfs, они содержат полное имя хоста и разрешаются.
Где еще hadoop мог получить имя хоста для использования в своем пользовательском интерфейсе jobtracker / namenode?
conf/core-site.xml
<property>
<name>fs.default.name</name>
<value>hdfs://hmaster90:9000</value>
<description>
The name of the default file system. Either the literal string
"local" or a host:port for NDFS.
</description>
</property>
conf/mapred-site.xml
<property>
<name>mapred.job.tracker</name>
<value>hmaster90:9001</value>
</property>