Задачи Hadoop: "execvp: разрешение отклонено" - PullRequest
1 голос
/ 01 декабря 2011

В небольшом кластере Hadoop, установленном на нескольких рабочих станциях разработчиков (т. Е. Они имеют различные локальные конфигурации), у меня есть один TaskTracker из 6, который вызывает проблемы.Всякий раз, когда она получает задачу, эта задача немедленно завершается с ошибкой ChildError:

java.lang.Throwable: Child Error
    at org.apache.hardoop.mapred.TaskRunner.run(TaskRunner.java:242)
Caused by: java.io.IOException: Task process exit with nonzero status of 1.
    at org.apache.hardoop.mapred.TaskRunner.run(TaskRunner.java:229)

Когда я просматриваю журналы stdout и stderr для этой задачи, журнал stdout пуст иВ журнале stderr есть только:

execvp: Permission denied

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

У меня есть DataNode, работающий на этом узле без проблем.

Я полагаю, что здесь может быть какая-то проблема с Java, когда ей трудно порождать JVM или что-то в этом роде ...

Ответы [ 3 ]

3 голосов
/ 09 июля 2012

У нас та же проблема. мы исправим это, добавив 'execute' в файл ниже.

$JAVA_HOME/jre/bin/java

Поскольку hadoop использует $ JAVA_HOME / jre / bin / java для порождения программы задач вместо $ JAVA_HOME / bin / java.

Если после изменения режима файла у вас все еще остается эта проблема, предложите использовать удаленную отладку, чтобы найти командную оболочку, которая порождает задачу, см. отладочная задача hadoop

0 голосов
/ 13 января 2012

Я столкнулся с той же проблемой.

Вы можете попробовать изменить 32-битную версию jdk на 64-битную или 64-битную на 32-битную.

0 голосов
/ 01 декабря 2011

Все, что он пытается execvp, не имеет установленного исполняемого бита. Вы можете установить исполняемый бит, используя chmod из командной строки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...