Не удалось проверить узлы на 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>