Не удалось проверить узлы на hadoop [Connection failed]
Если я набираю http://localhost:50070
или http://localhost:9000
, чтобы видеть узлы, мой браузер ничего мне не показывает, я думаю, что он не может подключиться к серверу.
Я проверил мой хаоп с помощью этой команды:
hadoop jar hadoop-*test*.jar TestDFSIO -write -nrFiles 10 -fileSize 1000
но тоже не работал, и он пытается подключиться к серверу, это вывод:
12/06/06 17:25:24 INFO mapred.FileInputFormat: nrFiles = 10
12/06/06 17:25:24 INFO mapred.FileInputFormat: fileSize (MB) = 1000
12/06/06 17:25:24 INFO mapred.FileInputFormat: bufferSize = 1000000
12/06/06 17:25:25 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 0 time(s).
12/06/06 17:25:26 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 1 time(s).
12/06/06 17:25:27 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 2 time(s).
12/06/06 17:25:28 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 3 time(s).
12/06/06 17:25:29 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 4 time(s).
12/06/06 17:25:30 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 5 time(s).
12/06/06 17:25:31 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 6 time(s).
12/06/06 17:25:32 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 7 time(s).
12/06/06 17:25:33 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 8 time(s).
12/06/06 17:25:34 INFO ipc.Client: Retrying connect to server: localhost/127.0.0.1:9000. Already tried 9 time(s).
java.net.ConnectException: Call to localhost/127.0.0.1:9000 failed on connection exception: java.net.ConnectException: Connection refused
Я изменил некоторые файлы следующим образом:
в conf/core-site.xml:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
в conf/hdfs-site.xml:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
</configuration>
в conf/mapred-site.xml:
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
Эй, ребята, за ваше внимание,
Если я запустил эту команду
cat /etc/hosts
Я вижу:
127.0.0.1 localhost
127.0.1.1 ubuntu.ubuntu-domain ubuntu
# The following lines are desirable for IPv6 capable hosts
::1 ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff00::0 ip6-mcastprefix
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
и если я запустил это:
ps axww | grep hadoop
Я вижу этот результат:
2170 pts/0 S+ 0:00 grep --color=auto hadoop
но никакого эффекта! У вас есть идея, как я могу решить свою проблему?
Ответы
Ответ 1
Есть несколько вещей, которые вам нужно позаботиться, прежде чем начинать службы хаопа.
Проверьте, что это возвращает:
hostname --fqdn
В вашем случае это должен быть localhost.
Также закомментируйте IPV6 в /etc/hosts.
Вы отформатировали namenode перед запуском HDFS.
hadoop namenode -format
Как вы установили Hadoop. Расположение файлов журналов будет зависеть от этого. Обычно он находится в расположении "/var/log/hadoop/", если вы использовали распределение cloudera.
Если вы полный новичок, я предлагаю установить Hadoop с помощью Cloudera SCM, что довольно просто. Я разместил мой подход при установке Hadoop с дистрибутивом Cloudera.
Также
Убедитесь, что расположение DFS имеет разрешение на запись. Обычно он сидит @/usr/local/hadoop_store/hdfs
Это обычная причина.
Ответ 2
та же проблема, которую я получил, и это решило мою проблему:
проблема заключается в разрешении, предоставляемом папкам
"chmod" 755 или больше для папок
/Главная/имя пользователя/Hadoop/*
Ответ 3
Другая возможность: namenode не работает.
Вы можете удалить файлы HDFS:
rm -rf /tmp/hadoop*
Переформатировать HDFS
bin/hadoop namenode -format
И перезапустите службы hadoop
bin/hadoop/start-all.sh (Hadoop 1.x)
или
sbin/hadoop/start-all.sh (Hadoop 2.x)
Ответ 4
также отредактируйте файл /etc/hosts и измените 127.0.1.1 на 127.0.0.1... правильное разрешение DNS очень важно для hadoop и немного сложнее... добавьте следующее свойство в файл core-site.xml -
<property>
<name>hadoop.tmp.dir</name>
<value>/path_to_temp_directory</value>
</property>
по умолчанию для этого свойства является каталог /tmp, который очищается после перезагрузки каждой системы. Если вы потеряете всю свою информацию при каждом перезапуске, добавьте эти свойства в свой файл hdfs-site.xml -
<property>
<name>dfs.name.dir</name>
<value>/path_to_name_directory</value>
</property>
<property>
<name>dfs.data.dir</name>
<value>/path_to_data_directory</value>
</property>
Ответ 5
Я предполагаю, что это ваша первая установка hadoop.
В начале проверьте, работают ли ваши демоны. Для этого используйте (в терминале):
jps
Если отображается только jps, это означает, что все демоны опущены. Проверьте файлы журнала. Особенно наменода. Лог-папка, вероятно, где-то там /usr/lib/hadoop/logs
Если у вас есть проблемы с разрешением. Используйте это руководство во время установки.
Хорошее руководство по установке
Я снимаю эти объяснения, но это наиболее распространенные проблемы.
Ответ 6
Привет. Редактируйте основной файл conf/core-site.xml и измените localhost на 0.0.0.0. Используйте conf ниже. Это должно сработать.
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://0.0.0.0:9000</value>
</property>