복붙노트

[HADOOP] Windows에서 Mapreduce (yarn)를 실행하는 동안 오류가 발생했습니다.

HADOOP

Windows에서 Mapreduce (yarn)를 실행하는 동안 오류가 발생했습니다.

내 식에서 WordCount 프로그램을 실행하고 있습니다. 나는 Hadoop 1.x를 사용해 보았지만 잘 동작한다. hadoop 2.x에서 실행 중 문제 발생

나는 노력했다. 1) 모든 XML을 내 클래스 패스에 추가했습니다. 2) 또한 conf 객체에서 xml 속성을 설정하여 conf.set ()을 시도했습니다.

또한 로그에 다음과 같이 표시됩니다. - 컨테이너 컨테이너에 사용할 수있는 로그가 없습니다 ._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.

해결법

  1. ==============================

    1.문제점을 파악했는데, 거기에 jira가 있습니다. https : //issues.apache.org/jira/browse/MAPREDUCE-5655

    문제점을 파악했는데, 거기에 jira가 있습니다. https : //issues.apache.org/jira/browse/MAPREDUCE-5655

    방금 프로젝트에 YARNRunner.java & MRApps.java를 추가했습니다. 또한 job runner가 알 수 있도록 windows box의 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 오류를 제거 할 수 있습니다.       새로운 IOException을 던집니다 ( "Hadoop 바이너리에서"+ fullExeName + "실행 파일을 찾을 수 없습니다.");

  2. from https://stackoverflow.com/questions/23872677/error-while-running-mapreduceyarnfrom-windows-eclipse by cc-by-sa and MIT license