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:
Ответы
Ответ 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
- перезапустите все узлы.
- все работает отлично
шаги: остановите все узлы/менеджеры, затем попытайтесь выполнить следующие шаги
-
rm -rf/tmp/hadoop-ubuntu/*
(все узлы) -
rm -r/usr/local/hadoop/data/hdfs/namenode/current
(namenode: проверьте hdfs-site.xml
) -
rm -r/usr/local/hadoop/data/hdfs/datanode/current
(datanode: проверьте hdfs-site.xml
) -
hdfs namenode -format
(на наменоде) -
hdfs datanode -format
(по наменоду) - Перезагрузите наменоды и узлы данных