错误信息如下:
13/11/10 22:19:09 INFO mapred.JobClient: Task Id : attempt_201311102206_0004_m_000002_0, Status : FAILED
java.lang.Throwable: Child Error
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:271)
Caused by: java.io.IOException: Task process exit with nonzero status of 1.
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:258)
attempt_201311102206_0004_m_000002_0: execvp: 权限不够
13/11/10 22:19:12 INFO mapred.JobClient: Task Id : attempt_201311102206_0004_m_000002_1, Status : FAILED
java.lang.Throwable: Child Error
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:271)
Caused by: java.io.IOException: Task process exit with nonzero status of 1.
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:258)
attempt_201311102206_0004_m_000002_1: execvp: 权限不够
13/11/10 22:19:15 INFO mapred.JobClient: Task Id : attempt_201311102206_0004_m_000002_2, Status : FAILED
java.lang.Throwable: Child Error
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:271)
Caused by: java.io.IOException: Task process exit with nonzero status of 1.
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:258)
attempt_201311102206_0004_m_000002_2: execvp: 权限不够
13/11/10 22:19:22 INFO mapred.JobClient: Task Id : attempt_201311102206_0004_m_000001_0, Status : FAILED
java.lang.Throwable: Child Error
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:271)
Caused by: java.io.IOException: Task process exit with nonzero status of 1.
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:258)
attempt_201311102206_0004_m_000001_0: execvp: 权限不够
13/11/10 22:19:25 INFO mapred.JobClient: Task Id : attempt_201311102206_0004_m_000001_1, Status : FAILED
java.lang.Throwable: Child Error
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:271)
Caused by: java.io.IOException: Task process exit with nonzero status of 1.
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:258)
attempt_201311102206_0004_m_000001_1: execvp: 权限不够
13/11/10 22:19:28 INFO mapred.JobClient: Task Id : attempt_201311102206_0004_m_000001_2, Status : FAILED
java.lang.Throwable: Child Error
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:271)
Caused by: java.io.IOException: Task process exit with nonzero status of 1.
at org.apache.hadoop.mapred.TaskRunner.run(TaskRunner.java:258)
attempt_201311102206_0004_m_000001_2: execvp: 权限不够
百度搜了半天,有说改log文件权限的,还有说把userlog删了的,都没用。最后想到取StackOverFlow上搜一下,结果还真有:
We have same problem. we fix it by adding 'execute' to below file.
$JAVA_HOME/jre/bin/java
Because hadoop use $JAVA_HOME/jre/bin/java to spawn task program instead of $JAVA_HOME/bin/java.
If you still have this issue after change the file mode, suggest you use remote debug to find the shell cmd which spawning the task, see debugging hadoop task
就是将hadoop-env中不应改设置成jdk的home,应该设为jre的home。果然成功!
楼下还有个老外是这么说的:
I have encountered the same problem.
You can try changing the jdk version 32bit to 64bit or 64bit to 32bit.