【问题标题】:java.io.IOException: Job failed! when running a sample app on my osx with hadoop-0.19.1java.io.IOException:作业失败!使用 hadoop-0.19.1 在我的 osx 上运行示例应用程序时
【发布时间】:2010-10-20 04:03:51
【问题描述】:
bash-3.2$ 回声 $JAVA_HOME /System/Library/Frameworks/JavaVM.framework/Versions/1.6/Home bash-3.2$ bin/hadoop dfs -copyFromLocal conf /user/yokkom/input2 bash-3.2$ bin/hadoop jar hadoop-*-examples.jar grep input2 output 'dfs[a-z.]+' 2017 年 9 月 4 日 10:09:32 信息 mapred.FileInputFormat:要处理的总输入路径:10 2017 年 9 月 4 日 10:09:33 信息 mapred.JobClient:正在运行的作业:job_200904171309_0001 java.io.IOException:作业失败! 在 org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1232) 在 org.apache.hadoop.examples.Grep.run(Grep.java:69) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 在 org.apache.hadoop.examples.Grep.main(Grep.java:93) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.hadoop.util.ProgramDriver$ProgramDescription.invoke(ProgramDriver.java:68) 在 org.apache.hadoop.util.ProgramDriver.driver(ProgramDriver.java:141) 在 org.apache.hadoop.examples.ExampleDriver.main(ExampleDriver.java:61) 在 sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) 在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) 在 java.lang.reflect.Method.invoke(Method.java:597) 在 org.apache.hadoop.util.RunJar.main(RunJar.java:165) 在 org.apache.hadoop.mapred.JobShell.run(JobShell.java:54) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65) 在 org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:79) 在 org.apache.hadoop.mapred.JobShell.main(JobShell.java:68)

有人知道为什么会这样吗?同样的工作在 linux 机器上运行得很好。并且,在“作业失败”发生后,整个 Hadoop 集群停止响应。

我的 MacOS 版本是 10.5.6。

EDIT hadoop-0.20.1 的结果相同

【问题讨论】:

    标签: macos hadoop ioexception java-6


    【解决方案1】:

    我用谷歌搜索过,同样的错误(在同一行)以前也发生过。阅读herehere

    第二个链接建议如下:

    • 删除 conf/log4j.properties 以查看详细报告
    • 尝试增加堆内存(使用 -Xms 和 -Xmx 开关)

    【讨论】:

      【解决方案2】:

      是的,grep 会占用内存,尤其是在大型数据集上。你的输入有多大?顺便说一句,还有 Perm 内存。

      http://java.sun.com/javase/technologies/hotspot/vmoptions.jsp

      有一些有趣的开关可以在 OutOfMemory 上执行自定义行为,但是我怀疑 jobRunner 只是在到达 VM 之前捕获所有内容。您可能需要另一种方式来调试它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-09-21
        • 1970-01-01
        • 2013-06-05
        • 2014-08-22
        • 1970-01-01
        • 2019-05-23
        相关资源
        最近更新 更多