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

Datanode не запускается правильно

Я пытаюсь установить Hadoop 2.2.0 в псевдораспределенном режиме. Хотя я пытаюсь запустить службы datanode, он показывает следующую ошибку, может ли кто-нибудь рассказать, как это решить?

**2**014-03-11 08:48:15,916 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Block pool <registering> (storage id unknown) service to localhost/127.0.0.1:9000 starting to offer service
2014-03-11 08:48:15,922 INFO org.apache.hadoop.ipc.Server: IPC Server Responder: starting
2014-03-11 08:48:15,922 INFO org.apache.hadoop.ipc.Server: IPC Server listener on 50020: starting
2014-03-11 08:48:16,406 INFO org.apache.hadoop.hdfs.server.common.Storage: Lock on /home/prassanna/usr/local/hadoop/yarn_data/hdfs/datanode/in_use.lock acquired by nodename [email protected]
2014-03-11 08:48:16,426 FATAL org.apache.hadoop.hdfs.server.datanode.DataNode: Initialization failed for block pool Block pool BP-611836968-127.0.1.1-1394507838610 (storage id DS-1960076343-127.0.1.1-50010-1394127604582) service to localhost/127.0.0.1:9000
java.io.IOException: Incompatible clusterIDs in /home/prassanna/usr/local/hadoop/yarn_data/hdfs/datanode: namenode clusterID = CID-fb61aa70-4b15-470e-a1d0-12653e357a10; datanode clusterID = CID-8bf63244-0510-4db6-a949-8f74b50f2be9
    at**** org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:391)
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:191)
    at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:219)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:837)
    at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:808)
    at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:280)
    at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:222)
    at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:664)
    at java.lang.Thread.run(Thread.java:662)
2014-03-11 08:48:16,427 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Ending block pool service for: Block pool BP-611836968-127.0.1.1-1394507838610 (storage id DS-1960076343-127.0.1.1-50010-1394127604582) service to localhost/127.0.0.1:9000
2014-03-11 08:48:16,532 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: Removed Block pool BP-611836968-127.0.1.1-1394507838610 (storage id DS-1960076343-127.0.1.1-50010-1394127604582)
2014-03-11 08:48:18,532 WARN org.apache.hadoop.hdfs.server.datanode.DataNode: Exiting Datanode
2014-03-11 08:48:18,534 INFO org.apache.hadoop.util.ExitUtil: Exiting with status 0
2014-03-11 08:48:18,536 INFO org.apache.hadoop.hdfs.server.datanode.DataNode: SHUTDOWN_MSG: 
4b9b3361

Ответ 1

Вы можете сделать следующий метод:

скопируйте в буфер обмена datanode clusterID для вашего примера, CID-8bf63244-0510-4db6-a949-8f74b50f2be9

и выполните следующую команду в каталоге HADOOP_HOME/bin

./hdfs namenode -format -clusterId CID-8bf63244-0510-4db6-a949-8f74b50f2be9

то этот код форматировал наменода с идентификаторами кластера с данными datanode.

Ответ 2

Вы должны сделать следующее:

  • bin/stop-all.sh
  • rm -Rf /home/prassanna/usr/local/hadoop/yarn_data/hdfs/*
  • bin/hadoop namenode -format

У меня была та же проблема, пока я не нашел ответ в на этом веб-сайте.

Ответ 3

Всякий раз, когда вы становитесь ниже ошибки, пытаетесь запустить DN на подчиненном компьютере:

java.io.IOException: Incompatible clusterIDs in /home/hadoop/dfs/data: namenode clusterID= ****; datanode clusterID = ****

Это потому, что после того, как вы настроили свой кластер, вы по какой-то причине решили переформатировать ваш NN. Ваши DN на ведомых устройствах по-прежнему ссылаются на старый NN.

Чтобы устранить это, просто удалите и заново создайте папку данных на этом компьютере в локальном Linux FS, а именно:/home/hadoop/dfs/data.

Перезапуск этого DN-демона на этом компьютере воссоздает содержимое данных/папок и разрешит проблема.

Ответ 4

Сделайте следующие простые шаги

  • Очистить каталог данных hadoop
  • Отформатировать надменю снова
  • запустите кластер

После этого ваш кластер начнет нормально, если у вас нет другой проблемы с конфигурацией

Ответ 5

DataNode умирает из-за несовместимых кластеридов по сравнению с NameNode. Чтобы устранить эту проблему, вам необходимо удалить каталог /tmp/hadoop - [user]/hdfs/data и перезапустить hasoop.

rm -r /tmp/hadoop-[user]/hdfs/data

Ответ 6

У меня была аналогичная проблема в моей псевдораспределенной среде. Сначала я остановил кластер, затем скопировал идентификатор кластера из файла версии NameNode и поместил его в файл версии DataNode, а затем после перезапуска кластера его все отлично.

мой путь данных здесь /usr/local/hadoop/hadoop _store/hdfs/datanode и/usr/local/hadoop/hadoop_store/hdfs/namenode.

FYI: файл версии находится под /usr/local/hadoop/hadoop _store/hdfs/datanode/current/; аналогично для NameNode.

Ответ 7

Здесь, datanode немедленно останавливается, потому что идентификатор кластера datanode и namenode отличается. Таким образом, вы должны отформатировать идентификатор кластера идентификатора namenode с идентификатором clusterID datanode

Скопируйте идентификатор кластера datanode для вашего примера CID-8bf63244-0510-4db6-a949-8f74b50f2be9 и выполните следующую команду из своего домашнего каталога. Вы можете пойти в свой домашний каталог, просто набрав cd на своем терминале.

В своем домашнем каталоге введите команду:

hdfs namenode -format -clusterId CID-8bf63244-0510-4db6-a949-8f74b50f2be9

Ответ 8

У меня тоже была аналогичная проблема. Я удалил папки namenode и datanode со всех узлов и перезапустил:

$HADOOP_HOME/bin> hdfs namenode -format -force
$HADOOP_HOME/sbin> ./start-dfs.sh
$HADOOP_HOME/sbin> ./start-yarn.sh

Чтобы проверить отчет о работоспособности из командной строки (что я бы рекомендовал)

$HADOOP_HOME/bin> hdfs dfsadmin -report

и я правильно использовал все узлы.

Ответ 9

Удалите каталоги namenode и datanode, как указано в файле core-site.xml. После этого создайте новые каталоги и перезапустите dfs и пряжи.

Ответ 10

У меня была та же проблема для hadoop 2.7.7

Я удалил каталог namenode/current & datanode/current в namenode и все датододы

  • Удаленные файлы в /tmp/hadoop-ubuntu/*
  • затем отформатируйте namenode & datanode
  • перезапустите все узлы.
  • все работает отлично

шаги: остановите все узлы/менеджеры, затем попытайтесь выполнить следующие шаги

  1. rm -rf/tmp/hadoop-ubuntu/* (все узлы)
  2. rm -r/usr/local/hadoop/data/hdfs/namenode/current (namenode: проверьте hdfs-site.xml)
  3. rm -r/usr/local/hadoop/data/hdfs/datanode/current (datanode: проверьте hdfs-site.xml)
  4. hdfs namenode -format (на наменоде)
  5. hdfs datanode -format (по наменоду)
  6. Перезагрузите наменоды и узлы данных