Задание Hadoop: задача не может сообщить о состоянии в течение 601 секунды - PullRequest
5 голосов
/ 02 февраля 2012

При выполнении задания hadoop в псевдоноде задание не выполняется и его убивают. Ошибка: Задача попытка_ не в состоянии сообщить о состоянии в течение 601 секунды

Но та же самая программа выполняется через Eclipse (локальное задание).

Задача: существует около 25К ключевых слов, вывод будет возможной комбинацией (по два одновременно), то есть около 25К * 25К

В чем может быть проблема?

Ответы [ 3 ]

7 голосов
/ 04 февраля 2012

По какой-то причине задача, выполняемая на вашем псевдоноде, не выполняется. Вы можете увеличить параметр "mapred.task.timeout" в mapred-site.xml. Значение по умолчанию того же самого в mapred-default.xml:

 <property>
    <name>mapred.task.timeout</name>
    <value>600000</value>
    <description>The number of milliseconds before a task will be 
                 terminated if it neither reads an input, writes 
                 an output, nor updates its status string.
    </description>
 </property>
2 голосов
/ 06 февраля 2012

Hadoop Предоставляет API отчетности для того же. Если вы не сообщите о ходе выполнения заданию hadoop в течение 10 минут, то есть 600 секунд, он считает задачу застрявшей и убивает задачу. Ссылка API - Здесь

2 голосов
/ 05 февраля 2012

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

...