2011-12-01 3 views
1

다수의 개발자 워크 스테이션에 설정된 작은 Hadoop 클러스터 (즉, 로컬 구성이 다름)에서 문제가되는 TaskTracker가 하나 있습니다.Hadoop tasks : "execvp : permission denied"

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) 

내가 작업에 대한 stdoutstderr 로그를 찾습니다 stdout 로그가 비어이며, stderr 로그는있다 :이 작업을 수신 할 때마다, 그 작업이 즉시 ChildError 실패

execvp: Permission denied 

작업 추적자가 결국 블랙리스트에 올라 작업을 실행하는 데 문제가없는 다른 노드에서 실행되기 때문에 내 작업이 완료됩니다. 이 작업은 하나의 노드에서 실행될 수 없으며 모든 작업이 가능하므로 보편적 인 문제입니다.

이 노드에서 DataNode를 실행해도 문제가 없습니다.

나는 상상이 수도가 힘든 시간이 실행 ​​비트가 설정되어 있지 않습니다 execvp에 노력하고 무엇이든 JVM을 또는 뭔가 ...

답변

0

산란을 데 여기에 자바 문제의 일종. 명령 행에서 chmod을 사용하여 실행 가능 비트를 설정할 수 있습니다.

+0

볼이 작업을 산란 쉘 cmd를 찾기 위해 원격 디버깅을 사용하는 것이 좋습니다 당신이 execvp는하려고 어떤 생각을 가지고 있습니까? 아니면 그 정보를 어디에서 찾을 수 있습니까? 이는 Hadoop 프레임 워크의 내부에서 발생하며 내 직무가 직접 수행하는 작업이 아닙니다. –

0

동일한 문제가 발생했습니다.

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

3

동일한 문제가 있습니다. 아래 파일에 'execute'를 추가하여 수정하였습니다.

$JAVA_HOME/jre/bin/java 

때문에 대신에 $ JAVA_HOME/빈/자바의 작업 프로그램을 산란하기 위해 Hadoop을 사용 $의 JAVA_HOME/JRE/빈/자바.

가 계속 변경 후이 문제를 파일 모드가있는 경우, debugging hadoop task