Ошибка Hadoop — прерывание работы всех узлов данных

Я использую версию Hadoop 2.3.0. Иногда, когда я выполняю задание по уменьшению карты, отображаются следующие ошибки.

14/08/10 12:14:59 INFO mapreduce.Job: Task Id : attempt_1407694955806_0002_m_000780_0, Status : FAILED
Error: java.io.IOException: All datanodes 192.168.30.2:50010 are bad. Aborting...
    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.setupPipelineForAppendOrRecovery(DFSOutputStream.java:1023)
    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.processDatanodeError(DFSOutputStream.java:838)
    at org.apache.hadoop.hdfs.DFSOutputStream$DataStreamer.run(DFSOutputStream.java:483)


Когда я пытаюсь проверить файлы журнала для этих невыполненных задач, папка журнала для этой задачи будет пустой.

Я не могу понять причину этой ошибки. Может кто-нибудь, пожалуйста, дайте мне знать, как решить эту проблему. Спасибо за вашу помощь.


person Sravan Kumar    schedule 10.08.2014    source источник
comment
Вы нашли решение для этого?   -  person Syed Mohammed Mehdi    schedule 15.08.2020


Ответы (2)


Похоже, вы преодолели лимит дескрипторов открытых файлов для вашего пользователя. Это довольно распространенная проблема, и в большинстве случаев ее можно устранить, увеличив значения ulimit (в основном это 1024 по умолчанию, что легко исчерпать многозадачными заданиями, такими как ваше).

Вы можете следовать этому краткому руководству, чтобы увеличить его: http://blog.cloudera.com/blog/2009/03/configuration-parameters-what-can-you-just-ignore/ [Раздел «Ограничения дескриптора файла»]

Отвечает Harsh J – https://groups.google.com/a/cloudera.org/forum/#!topic/cdh-user/kJRUkVxmfhw

person Ramanan    schedule 11.08.2014
comment
Ссылки мертвы или недоступны - person Alex Ortner; 22.01.2020
comment
ссылка недействительна - person Syed Mohammed Mehdi; 15.08.2020

Установка spark.shuffle.service.enabled на true решила эту проблему для меня.

spark.dynamicAllocation.enabled позволяет Spark динамически назначать исполнителей для разных задач. spark.shuffle.service.enabled, когда установлено значение false, отключает внешнюю службу перетасовки, и данные сохраняются только на исполнителях. Когда исполнители переназначаются, данные теряются, и исключение

java.io.IOException: все узлы данных неверны.

бросается для запроса данных.

person Devendra Parhate    schedule 02.05.2019