2

我已经建立了我的第一个简单的 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

有谁知道这里发生了什么?对不起,丑陋的代码缩进,我无法弄清楚如何正确地做到这一点,这是我的第一篇文章。

4

1 回答 1

1

看起来有什么东西杀死了你的进程,但你提到它完成了,所以 Hadoop 的弹性特性开始发挥作用,要么在另一个节点上运行它,要么在同一个节点上重试它,让你的字数统计完成。查看JVM 错误代码 143的答案

于 2013-04-12T15:24:37.410 回答