Наменоде не начало - PullRequest
52 голосов
/ 10 ноября 2011

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

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

Ответы [ 21 ]

97 голосов
/ 08 декабря 2011

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

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

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

36 голосов
/ 10 ноября 2011

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

25 голосов
/ 23 ноября 2014

После ШАГИ у меня работало с hadoop 2.2.0,

ШАГ 1 Stop Hadoop

hduser@prayagupd$ /usr/local/hadoop-2.2.0/sbin/stop-dfs.sh

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

hduser@prayagupd$ sudo rm -rf /app/hadoop/tmp/

ШАГ 3 создать / app / hadoop / tmp /

hduser@prayagupd$ sudo mkdir -p /app/hadoop/tmp
hduser@prayagupd$ sudo chown hduser:hadoop /app/hadoop/tmp
hduser@prayagupd$ sudo chmod 750 /app/hadoop/tmp

ШАГ 4 формат наменоде

hduser@prayagupd$ hdfs namenode -format

ШАГ 5 start dfs

hduser@prayagupd$ /usr/local/hadoop-2.2.0/sbin/start-dfs.sh

ШАГ 6 проверка jps

hduser@prayagupd$ $ jps
11342 Jps
10804 DataNode
11110 SecondaryNameNode
10558 NameNode
4 голосов
/ 03 апреля 2013

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

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

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

3 голосов
/ 21 февраля 2013

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

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

2 голосов
/ 14 мая 2016

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

$ [kadmin@hadoop-node-0 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 при запуске системы и проверяйте журналы, прежде чем предположить, что что-то зависло или не работает.

1 голос
/ 07 октября 2013

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

А затем отформатируйте наменод, используя $hadoop namenode -format.

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

1 голос
/ 14 августа 2017

В 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

0 голосов
/ 07 мая 2017

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

0 голосов
/ 04 мая 2017
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
...