【问题标题】:Error while running Mapreduce(yarn)from windows eclipse从 windows eclipse 运行 Mapreduce(yarn) 时出错
【发布时间】:2014-05-26 14:44:26
【问题描述】:

我正在从我的 Eclipse 中运行 WordCount 程序。 我尝试使用 Hadoop1.x 运行良好。 在 hadoop2.x 上运行时遇到问题

我试过了 1)将所有 xml 添加到我的类路径中。 2)也尝试了conf.set(),在conf对象中设置xml属性。

还在日志中显示:-没有可用于容器 container_1394042163908_0573_01_000001 的日志

  Application application_1394042163908_0573 failed 2 times due to AM Container for      appattempt_1394042163908_0573_000002 exited with exitCode: 1 due to: Exception from container-launch:
org.apache.hadoop.util.Shell$ExitCodeException: /bin/bash: line 0: fg: no job control
at org.apache.hadoop.util.Shell.runCommand(Shell.java:464)
at org.apache.hadoop.util.Shell.run(Shell.java:379)
at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:589)
at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerEx    ecutor.java:195)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:283)
at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:79)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
at java.util.concurrent.FutureTask.run(FutureTask.java:166)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)`enter code here`
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
at java.lang.Thread.run(Thread.java:722)
.Failing this attempt.. Failing the application.

【问题讨论】:

    标签: java eclipse hadoop mapreduce hadoop-yarn


    【解决方案1】:

    我已经解决了这个问题,有一个 jira 可以解决它:https://issues.apache.org/jira/browse/MAPREDUCE-5655

    我刚刚将 YARNRunner.java 和 MRApps.java 添加到我的项目中。 它还需要在 windows 框上的 mapred-site.xml 中添加以下属性,以便作业启动器知道作业运行器将是一个 linux:

    <property>
    <name>mapred.remote.os</name>
    <value>Linux</value>
    <description>Remote MapReduce framework's OS, can be either Linux or Windows</description>
    </property>
    

    而且 MapReduce 现在运行良好。

    同时将 org.apache.hadoop.util.Shell.java 复制到您的项目中。

    您可以注释掉下面这行,以消除 winutils.exe 错误。
    throw new IOException("在 Hadoop 二进制文件中找不到可执行文件 " + fullExeName + "。");

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多