Подтвердить что ты не робот

Namenode не запускается

Я использовал Hadoop в псевдораспределенном режиме, и все работало нормально. Но потом мне пришлось перезагрузить компьютер по какой-то причине. И теперь, когда я пытаюсь запустить Namenode и Datanode, я могу найти только Datanode. Может ли кто-нибудь сказать мне возможную причину этой проблемы? Или я делаю что-то неправильно?

Я попробовал как bin/start-all.sh, так и bin/start-dfs.sh.

4b9b3361

Ответ 1

Я столкнулся с вопросом о том, что namenode не запускается. Я нашел решение, используя следующее:

  • сначала удалите все содержимое из временной папки: rm -Rf <tmp dir> (мой был /usr/local/hadoop/tmp )
  • форматировать namenode: bin/hadoop namenode -format
  • снова запустите все процессы: bin/start-all.sh

Вы также можете подумать об откате, используя контрольную точку (если вы ее включили).

Ответ 2

hadoop.tmp.dir в файле core-site.xml defaulted до /tmp/hadoop-${user.name}, который очищается после каждой перезагрузки. Измените это на другой каталог, который не очищается при перезагрузке.

Ответ 3

После STEPS работал у меня с hadoop 2.2.0,

ШАГ 1 stop hadoop

[email protected]$ /usr/local/hadoop-2.2.0/sbin/stop-dfs.sh

ШАГ 2 удалить папку tmp

[email protected]$ sudo rm -rf /app/hadoop/tmp/

ШАГ 3 create/app/hadoop/tmp/

[email protected]$ sudo mkdir -p /app/hadoop/tmp
[email protected]$ sudo chown hduser:hadoop /app/hadoop/tmp
[email protected]$ sudo chmod 750 /app/hadoop/tmp

STEP 4 форматирование namenode

[email protected]$ hdfs namenode -format

ШАГ 5 начать dfs

[email protected]$ /usr/local/hadoop-2.2.0/sbin/start-dfs.sh

ШАГ 6 проверить jps

[email protected]$ $ jps
11342 Jps
10804 DataNode
11110 SecondaryNameNode
10558 NameNode

Ответ 4

В conf/hdfs-site.xml у вас должно быть свойство типа

<property>
    <name>dfs.name.dir</name>
    <value>/home/user/hadoop/name/data</value>
</property>

Свойство "dfs.name.dir" позволяет вам контролировать, где Hadoop записывает метаданные NameNode. И, давая ему другой каталог, а не /tmp, убедитесь, что данные NameNode не удаляются при перезагрузке.

Ответ 5

Откройте новый терминал и запустите namenode, используя path-to-your-hadoop-install/bin/hasoop namenode

Проверка с использованием jps и namenode должна выполняться

Ответ 6

Если кто-либо использует версию hadoop1.2.1 и не может выполнить namenode, перейдите к core-site.xml и измените dfs.default.name на fs.default.name.

Затем отформатируйте namenode с помощью $hadoop namenode -format.

Наконец, запустите hdfs с помощью start-dfs.sh и проверьте службу с помощью jps..

Ответ 7

Почему в большинстве ответов здесь предполагается, что все данные необходимо удалить, переформатировать и перезапустить Hadoop? Как мы узнаем, что namenode не прогрессирует, но занимает много времени. Он будет делать это, когда в HDFS будет большой объем данных. Проверьте прогресс в журналах, прежде чем считать что-либо висело или застряло.

$ [[email protected] logs]$ tail hadoop-kadmin-namenode-hadoop-node-0.log

...
016-05-13 18:16:44,405 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: replaying edit log: 117/141 transactions completed. (83%)
2016-05-13 18:16:56,968 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: replaying edit log: 121/141 transactions completed. (86%)
2016-05-13 18:17:06,122 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: replaying edit log: 122/141 transactions completed. (87%)
2016-05-13 18:17:38,321 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: replaying edit log: 123/141 transactions completed. (87%)
2016-05-13 18:17:56,562 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: replaying edit log: 124/141 transactions completed. (88%)
2016-05-13 18:17:57,690 INFO org.apache.hadoop.hdfs.server.namenode.FSEditLogLoader: replaying edit log: 127/141 transactions completed. (90%)

Это было почти через час ожидания в конкретной системе. Он все еще прогрессирует каждый раз, когда я смотрю на него. Имейте терпение с Hadoop, когда вы поднимаете систему и проверяете журналы, прежде чем предполагать, что что-то висело или не прогрессирует.

Ответ 8

В файле core-site.xml:

    <configuration>
       <property>
          <name>fs.defaultFS</name>
          <value>hdfs://localhost:9000</value>
       </property>
       <property>
          <name>hadoop.tmp.dir</name>
          <value>/home/yourusername/hadoop/tmp/hadoop-${user.name}
         </value>
  </property>
</configuration>

и формат наменода с:

hdfs namenode -format

работал для hadoop 2.8.1

Ответ 9

Вы изменили conf/hdfs-site.xml dfs.name.dir?

Отформатируйте namenode после его изменения.

$ bin/hadoop namenode -format
$ bin/hadoop start-all.sh

Ответ 10

Если вы сохранили настройки по умолчанию при запуске hasoop, то порт для namenode будет равен 50070. Вам нужно будет найти какие-либо процессы, запущенные на этом порту, и сначала уничтожить их.

  • Остановить все запущенные операции с помощью: bin/stop-all.sh

    проверить все процессы, запущенные на порту 50070

  • sudo netstat -tulpn | grep :50070 # проверить все процессы, запущенные в порт 50070, если есть /will появляются на выходе RHS.

  • sudo kill -9 <process_id> #kill_the_process.

  • sudo rm -r /app/hadoop/tmp #delete временная папка

  • sudo mkdir /app/hadoop/tmp #recreate it

  • sudo chmod 777 –R /app/hadoop/tmp (777 приведено только для этого примера)

  • bin/hadoop namenode –format #format hadoop namenode

  • bin/start-all.sh # start-all hadoop services

Обратитесь этот блог

Ответ 11

Если вы столкнулись с этой проблемой после перезагрузки системы, то ниже шаги будут работать нормально

Обходной путь.

1) форматируйте namenode: bin/hadoop namenode -format

2) снова запустите все процессы: bin/start-all.sh

Для Perm fix: -

1) перейдите в /conf/core -site.xml, измените fs.default.name на свой собственный.

2) отформатируйте namenode: bin/hadoop namenode -format

3) снова запустите все процессы: bin/start-all.sh

Ответ 12

Попробуйте это,

1) Остановить все процессы хаопов: stop-all.sh

2) Удалите папку tmp вручную

3) Формат namenode: hadoop namenode -format

4) Запустите все процессы: start-all.sh

Ответ 13

Столкнулась с той же проблемой.

(1) Всегда проверяйте ошибки ввода при настройке файлов .xml, особенно теги xml.

(2) перейдите в каталог bin. и введите ./start-all.sh

(3), затем введите jps, чтобы проверить, работают ли процессы

Ответ 14

Для меня следующие работали после того, как я сменил каталог наменода и datanode в hdfs-site.xml

- перед выполнением следующих шагов остановите все службы с помощью stop-all.sh или в моем случае я использовал stop-dfs.sh, чтобы остановить dfs

  • В новом настроенном каталоге для каждого node (namenode и datanode) удалите каждую папку/файлы внутри него (в моем случае - текущий каталог).
  • удалить временный каталог Hadoop: $rm -rf /tmp/haddop-$USER
  • формат Namenode: hadoop/bin/hdfs namenode -format
  • start-dfs.sh

После выполнения этих шагов мой namenode и datanodes были живы, используя новый сконфигурированный каталог.

Ответ 15

Добавить свойство hadoop.tmp.dir в файле core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://localhost:9000</value>
  </property>
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/yourname/hadoop/tmp/hadoop-${user.name}</value>
  </property>
</configuration>

и формат hdfs (hadoop 2.7.1):

$ hdfs namenode -format

Значение по умолчанию в core-default.xml - это /tmp/hadoop -${user.name}, которое будет удалено после перезагрузки.

Ответ 16

Если ваш namenode застрял в safemode, вы можете ssh ввести namenode, su hdfs user и запустить следующую команду, чтобы отключить безопасный режим:

hdfs dfsadmin -fs hdfs://server.com:8020 -safemode leave

Ответ 17

Я запустил $hadoop namenode, чтобы запустить namenode вручную на переднем плане.

Из журналов я понял, что 50070 окупирован, который по умолчанию использовался dfs.namenode.http-address. После настройки dfs.namenode.http-address в hdfs-site.xml все прошло хорошо.

Ответ 18

После перезагрузки я столкнулся с тем же.

для hadoop-2.7.3 все, что мне нужно было сделать, это форматировать namenode:

<HadoopRootDir>/bin/hdfs namenode -format

Затем команда jps показывает

6097 DataNode
755 RemoteMavenServer
5925 NameNode
6293 SecondaryNameNode
6361 Jps

Ответ 19

I got the solution just share with you that will work who got the errors:

1. First check the /home/hadoop/etc/hadoop path, hdfs-site.xml and

 check the path of namenode and datanode 

<property>
  <name>dfs.name.dir</name>
    <value>file:///home/hadoop/hadoopdata/hdfs/namenode</value>
</property>

<property>
  <name>dfs.data.dir</name>
    <value>file:///home/hadoop/hadoopdata/hdfs/datanode</value>
</property>

2.Check the permission,group and user of namenode and datanode of the particular path(/home/hadoop/hadoopdata/hdfs/datanode), and check if there are any problems in all of them and if there are any mismatch then correct it. ex .chown -R hadoop:hadoop in_use.lock, change user and group

chmod -R 755 <file_name> for change the permission

Ответ 20

После удаления папки данных диспетчеров ресурсов проблема исчезла. Даже если у вас есть форматирование, эта проблема не может быть решена.

Ответ 21

Вместо форматирования namenode, возможно, вы можете использовать следующую команду для перезапуска namenode. Это сработало для меня:

sudo service hasoop-master restart

  1. hadoop dfsadmin -safemode leave