我已经建立了我的第一个简单的Hadoop多节点集群(我是一个新手),它由两个节点组成,一个主节点(也作为从节点)和一个专用的从节点。 我正在运行一个Hadoop“字数”示例作业,该作业成功完成。虽然当我查看日志时我可以看到错误,这是来自从属节点上的TaskTracker日志:
2013-04-12 00:30:16,436 WARN org.apache.hadoop.mapred.TaskTracker: Failed validating JVM
java.io.IOException: JvmValidate Failed. Ignoring request from task:
attempt_201304112309_0006_m_000003_0, with JvmId: jvm_201304112309_0006_m_1485441759
at org.apache.hadoop.mapred.TaskTracker.validateJVM(TaskTracker.java:3434)
at org.apache.hadoop.mapred.TaskTracker.statusUpdate(TaskTracker.java:3504)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.apache.hadoop.ipc.RPC$Server.call(RPC.java:578)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1393)
at org.apache.hadoop.ipc.Server$Handler$1.run(Server.java:1389)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1149)
at org.apache.hadoop.ipc.Server$Handler.run(Server.java:1387)
2013-04-12 00:30:16,515 WARN org.apache.hadoop.mapred.DefaultTaskController: Exit code from task is : 143
2013-04-12 00:30:16,515 INFO org.apache.hadoop.mapred.DefaultTaskController: Output from DefaultTaskController's launchTask follows:
2013-04-12 00:30:16,515 INFO org.apache.hadoop.mapred.TaskController:
2013-04-12 00:30:16,516 INFO org.apache.hadoop.mapred.JvmManager: JVM : jvm_201304112309_0006_m_1485441759 exited with exit code 143. Number of tasks it ran: 1
有谁知道这里发生了什么? 很抱歉丑陋的代码缩进,我无法弄清楚如何正确地做到这一点,这是我的第一篇文章。
答案 0 :(得分:1)
看起来有些东西会杀死你的进程,但是你提到它已经完成了所以Hadoops弹性功能被踢进去,或者在另一个节点上运行它,或者在同样的情况下重试它以获得你的单词计数。查看JVM error code 143
的答案