2015-01-12 2 views
0

Я установил hadoop 1.2.1 на linux с конфигурацией кластера с одним узлом. Он отлично работает и команда jps показывало информацию о всех 5 рабочих местNameNode выключается после запуска hadoop

  • JobTracker
  • NameNode
  • TaskTracker
  • SecondaryNameNode
  • JPS
  • DataNode.`

Теперь, когда я запускаю хаос, используя запятую nd bin/start-all.sh, hadoop запускает все 5 заданий, но в течение нескольких секунд namenode отключается.

Любые идеи, как я могу решить эту проблему?

Я проверил файл журнала NameNode и показывает следующее сообщение об ошибке:

ERROR org.apache.hadoop.hdfs.server.namenode.NameNode: java.io.IOException: Edit log corruption detected: corruption length = 98362 > toleration length = 0; the corruption is intolerable. 

ответ

0

Это было предложено много раз и ответил, как хорошо, поиск с сообщением исключения даст вам результаты.
Перед тем, как задавать вопросы в Stackoverflow, пожалуйста, проверьте, что вопрос такого же вопроса задан ранее по опции поиска в правом верхнем углу.
Приходит к постановке задачи,
Скорее всего, это связано с hadoop.tmp.dir, где ваш namenode хранит журналы редактирования и данные контрольной точки.
После каждой перезагрузки вашей машины папка tmp будет очищена многими службами, которые вызывают проблему при попытке доступа через namenode.
, так что только длина равна 0 после перезагрузки.
в core-site.xml изменить property hadoop.tmp.dir директорию в другой каталог.
Ссылка: here
Надеюсь, это поможет!

+0

Я уже пробовал ваши предлагаемые решения. Единственное, что нужно попробовать - это форматировать namenode. У меня много данных, и я искал решение, которое все еще может сохранить мои данные. – Maya

+0

Вы больше не можете получать данные из папки temp после перезагрузки машины. Если ваш контролер контрольной точки не является «temp», вы можете вернуть свои данные из fsImage в этой папке. –