복붙노트

[HADOOP] Hadoop 작업 : "execvp : permission denied"

HADOOP

Hadoop 작업 : "execvp : permission denied"

다수의 개발자 워크 스테이션에 설정된 작은 Hadoop 클러스터 (즉, 로컬 구성이 다름)에서 문제가되는 TaskTracker가 하나 있습니다. 작업을 수신 할 때마다 해당 작업은 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를 실행하고 있습니다.

나는 JVM이나 뭔가를 산란하는 데 어려움을 겪고있는 자바 문제가 있다고 생각한다.

해결법

  1. ==============================

    1.우리에게는 같은 문제가 있습니다. 아래 파일에 'execute'를 추가하여 수정하였습니다.

    우리에게는 같은 문제가 있습니다. 아래 파일에 'execute'를 추가하여 수정하였습니다.

    $JAVA_HOME/jre/bin/java
    

    hadoop은 $ JAVA_HOME / bin / java 대신 $ JAVA_HOME / jre / bin / java를 사용하여 $ JAVA_HOME / bin / java 대신 태스크 프로그램을 생성합니다.

    파일 모드를 변경 한 후에도 여전히이 문제가 발생하면 원격 디버그를 사용하여 작업을 생성하는 셸 cmd를 찾으십시오 (디버깅 hadoop 작업 참조).

  2. ==============================

    2.execvp에 무엇을하려고하든 실행 가능한 비트가 설정되어 있지 않습니다. 명령 행에서 chmod를 사용하여 실행 가능 비트를 설정할 수 있습니다.

    execvp에 무엇을하려고하든 실행 가능한 비트가 설정되어 있지 않습니다. 명령 행에서 chmod를 사용하여 실행 가능 비트를 설정할 수 있습니다.

  3. ==============================

    3.나는 같은 문제를 겪었다.

    나는 같은 문제를 겪었다.

    JDK 버전 32 비트를 64 비트 또는 64 비트에서 32 비트로 변경할 수 있습니다.

  4. from https://stackoverflow.com/questions/8344572/hadoop-tasks-execvp-permission-denied by cc-by-sa and MIT license