hadoop namenode -format возвращает java.net.UnknownHostException

В настоящее время я изучаю Hadoop и пытаюсь настроить тест с одним узлом, как определено в http://hadoop.apache.org/common/docs/current/single_node_setup.html

Я настроил ssh (могу войти без пароля).

Мой сервер находится в нашей интрасети, за прокси.

Когда я пытаюсь бежать

bin/hadoop namenode -format

Я получаю следующее исключение java.net.UnknownHostException:

$ bin/hadoop namenode -format
11/06/10 15:36:47 INFO namenode.NameNode: STARTUP_MSG: 
/************************************************************
STARTUP_MSG: Starting NameNode
STARTUP_MSG:   host = java.net.UnknownHostException: srv-clc-04.univ-nantes.prive3: srv-clc-04.univ-nantes.prive3
STARTUP_MSG:   args = [-format]
STARTUP_MSG:   version = 0.20.203.0
STARTUP_MSG:   build = http://svn.apache.org/repos/asf/hadoop/common/branches/branch-0.20-security-203 -r 1099333; compiled by 'oom' on Wed May  4 07:57:50 PDT 2011
************************************************************/
Re-format filesystem in /home/lindenb/tmp/HADOOP/dfs/name ? (Y or N) Y
11/06/10 15:36:50 INFO util.GSet: VM type       = 64-bit
11/06/10 15:36:50 INFO util.GSet: 2% max memory = 19.1675 MB
11/06/10 15:36:50 INFO util.GSet: capacity      = 2^21 = 2097152 entries
11/06/10 15:36:50 INFO util.GSet: recommended=2097152, actual=2097152
11/06/10 15:36:50 INFO namenode.FSNamesystem: fsOwner=lindenb
11/06/10 15:36:50 INFO namenode.FSNamesystem: supergroup=supergroup
11/06/10 15:36:50 INFO namenode.FSNamesystem: isPermissionEnabled=true
11/06/10 15:36:50 INFO namenode.FSNamesystem: dfs.block.invalidate.limit=100
11/06/10 15:36:50 INFO namenode.FSNamesystem: isAccessTokenEnabled=false accessKeyUpdateInterval=0 min(s), accessTokenLifetime=0 min(s)
11/06/10 15:36:50 INFO namenode.NameNode: Caching file names occuring more than 10 times 
11/06/10 15:36:50 INFO common.Storage: Image file of size 113 saved in 0 seconds.
11/06/10 15:36:50 INFO common.Storage: Storage directory /home/lindenb/tmp/HADOOP/dfs/name has been successfully formatted.
11/06/10 15:36:50 INFO namenode.NameNode: SHUTDOWN_MSG: 
/************************************************************
SHUTDOWN_MSG: Shutting down NameNode at java.net.UnknownHostException: srv-clc-04.univ-nantes.prive3: srv-clc-04.univ-nantes.prive3
************************************************************/

После этого был запущен хауп

./bin/start-all.sh

но было еще одно новое исключение, когда я пытался скопировать локальный файл:

 bin/hadoop fs  -copyFromLocal ~/file.txt  file.txt

DataStreamer Exception: org.apache.hadoop.ipc.RemoteException: java.io.IOException: File /user/lindenb/file.txt could only be replicated to 0 nodes, instead of 1
    at org.apache.hadoop.hdfs.server.namenode.FSNamesystem.getAdditionalBlock(FSNamesystem.java:1417)

как я могу исправить эту проблему, пожалуйста?

Спасибо


person Pierre    schedule 10.06.2011    source источник
comment
Я получаю аналогичную ошибку при форматировании моего NameNode в дистрибутиве Cloudera на виртуальной машине CentOS. Не могли бы вы рассказать мне, что вы сделали с файлом /etc/hosts? В настоящее время у меня есть следующие строки:   -  person Matthew Moisen    schedule 20.11.2013
comment
127.0.0.1 localhost.localdomain localhost и ::1 localhost6.localdomain6 localhost6   -  person Matthew Moisen    schedule 20.11.2013


Ответы (4)


UnknownHostException возникает, когда преобразовать DNS-имя (srv-clc-04.univ-nantes.prive3) в IP-адрес. Это не удается.

Найдите имя домена в файлах конфигурации и замените его на «localhost». (Или обновите DNS до разрешения имени на IP-адрес)

person dmeister    schedule 10.06.2011
comment
Спасибо, я добавил псевдоним в /etc/hosts - person Pierre; 15.06.2011
comment
Спасибо, у меня тоже была такая же проблема, помогло обновление файла /etc/hosts - person Rak; 18.10.2015

Сначала получите имя хоста вашего компьютера. Его можно получить, выполнив команду $hostname. Затем добавьте 127.0.0.1 localhost hostname в файл /etc/hosts. Это должно решить проблему.

person Sisay Chala    schedule 11.09.2014

У созданного вами каталога tmp должны быть проблемы с владением. Вот почему Hadoop не может записать в каталог tmp, чтобы исправить это, выполните следующие команды.

sudo chown hduser:hadoop /app/<your hadoop tmp dir>
person Harish Prasanna    schedule 09.04.2013

Добавление приведенного ниже к /etc/hosts может помочь:

127.0.0.1   localhost   yourhostname
person guest    schedule 16.07.2013