복붙노트

[HADOOP] 응용 프로그램으로 인해 오전 컨테이너에 2 번 실패가 ExitCode로 종료 : 1

HADOOP

응용 프로그램으로 인해 오전 컨테이너에 2 번 실패가 ExitCode로 종료 : 1

나는 하둡-2.7.0에 맵리 듀스 작업을 실행하지만, 맵리 듀스 작업을 시작할 수 없습니다 나는이 울부 짖는 소리 오류에 직면 :

Job job_1491779488590_0002 failed with state FAILED due to: Application application_1491779488590_0002 failed 2 times due to AM Container for appattempt_1491779488590_0002_000002 exited with  exitCode: 1
For more detailed output, check application tracking page:http://erfan:8088/cluster/app/application_1491779488590_0002Then, click on links to logs of each attempt.
Diagnostics: Exception from container-launch.
Container id: container_1491779488590_0002_02_000001
Exit code: 1
Stack trace: ExitCodeException exitCode=1: 
    at org.apache.hadoop.util.Shell.runCommand(Shell.java:545)
    at org.apache.hadoop.util.Shell.run(Shell.java:456)
    at org.apache.hadoop.util.Shell$ShellCommandExecutor.execute(Shell.java:722)
    at org.apache.hadoop.yarn.server.nodemanager.DefaultContainerExecutor.launchContainer(DefaultContainerExecutor.java:211)
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:302)
    at org.apache.hadoop.yarn.server.nodemanager.containermanager.launcher.ContainerLaunch.call(ContainerLaunch.java:82)
    at java.util.concurrent.FutureTask.run(FutureTask.java:262)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
    at java.lang.Thread.run(Thread.java:745)


Container exited with a non-zero exit code 1
Failing this attempt. Failing the application.
17/04/10 13:40:08 INFO mapreduce.Job: Counters: 0

어떤이 오류의 원인이며 어떻게이 문제를 해결할 수 있습니까?

어떤 도움에 감사드립니다.

해결법

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

    1.리소스 관리자에 대한 로그를 확인하십시오 :

    리소스 관리자에 대한 로그를 확인하십시오 :

    namenodeip : 8088

    이 오류가 발생했습니다 :

    이제 실제 문제를 공개 단자를 확인 :

    얀 로그 -applicationId

    예 : APP_ID = application_1535002188113_0001

    내 경우는 권한 문제를 보여줍니다

    그래서 내가 준 :

    sudo는 -u HDFS의 하둡 FS는 775 / 사용자 / 역사를 -chmod        또는        sudo는 -u HDFS의 하둡 FS 777 / 사용자 / 역사를 -chmod

  2. ==============================

    2.당신은 실제 문제에 대한 응용 프로그램 로그를 볼 수 있습니다.

    당신은 실제 문제에 대한 응용 프로그램 로그를 볼 수 있습니다.

    이를 위해 당신의 네임 노드 웹 인터페이스를 열 수 있습니다 namenode_ip : 50070 여기를 클릭 찾아보기 옵션을 볼 수 있습니다. 하위 메뉴에서 로그를 선택합니다. 이제 userlogs을 선택합니다.

    여기에 당신은 당신이 실행 응용 프로그램의 목록을 볼 수 있습니다.

    각지도 및 감소 작업에 대한 로그를 볼 수 있습니다 내부에 위에서 언급 한 작업에 대한 링크 application_1491779488590_0002를 엽니 다. 지도 열기 / 작업 로그 링크를 줄일 수 있습니다.

    그 안에 당신이 볼 수 있습니다 : SYS, 오류, 표준 출력 파일을. 이러한 로그 파일에서 당신은 실제 오류를 얻을 수 있으며, 문제를 해결할 수 있습니다.

    또는 이러한 로그를 참조 $ HADOOP_HOME / 로그 / userlogs / APPLICATION_ID 경로.

    응용 프로그램의 마스터가 실패 할 경우 때문에 응용 프로그램이 2 번 실패 몇 가지 이유는, 기본적으로는 응용 프로그램을 실행하려고합니다 더 많은 시간. 오전 재시도 속성은이 문제를 방지하려면 1로 설정 될 수있다.

  3. ==============================

    3.당신은 실-site.xml 파일을 수정하고이 코드를 추가 할 수 있습니다 (PS : %의 HADOOP_HOME의 %를 : 당신의 environement 변수입니다) :

    당신은 실-site.xml 파일을 수정하고이 코드를 추가 할 수 있습니다 (PS : %의 HADOOP_HOME의 %를 : 당신의 environement 변수입니다) :

     <property>
           <name>yarn.application.classpath</name>
           <value>
                %HADOOP_HOME%\etc\hadoop,
                %HADOOP_HOME%\share\hadoop\common\*,
                %HADOOP_HOME%\share\hadoop\common\lib\*,
                %HADOOP_HOME%\share\hadoop\hdfs\*,
                %HADOOP_HOME%\share\hadoop\hdfs\lib\*,
                %HADOOP_HOME%\share\hadoop\mapreduce\*,
                %HADOOP_HOME%\share\hadoop\mapreduce\lib\*,
                %HADOOP_HOME%\share\hadoop\yarn\*,
                %HADOOP_HOME%\share\hadoop\yarn\lib\*
           </value>
        </property>
    
  4. from https://stackoverflow.com/questions/43425678/application-failed-2-times-due-to-am-container-exited-with-exitcode-1 by cc-by-sa and MIT license