복붙노트

[HADOOP] Hadoop 2.6.0 : 설치 후 기본 오류 "MRAppMaster 시작"

HADOOP

Hadoop 2.6.0 : 설치 후 기본 오류 "MRAppMaster 시작"

Hadoop 2를 사용하기 시작했습니다.

기본 구성으로 설치 한 후에는 필자가 모든 예제를 실행하지 못했습니다. 누구든지이 문제를 보았고 도와 주시겠습니까?

그리고 오류는 다음과 같습니다.

Error starting MRAppMaster
java.lang.RuntimeException: java.lang.reflect.InvocationTargetException

이것은 로그입니다.

20152015-01-06 11:56:23,194 INFO [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Created MRAppMaster for application appattempt_1420510526926_0002_000001
2015-01-06 11:56:23,362 FATAL [main] org.apache.hadoop.mapreduce.v2.app.MRAppMaster: Error starting MRAppMaster

java.lang.RuntimeException: java.lang.reflect.InvocationTargetException
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:131)
at org.apache.hadoop.security.Groups.<init>(Groups.java:70)
at org.apache.hadoop.security.Groups.<init>(Groups.java:66)
at org.apache.hadoop.security.Groups.getUserToGroupsMappingService(Groups.java:280)
at org.apache.hadoop.security.UserGroupInformation.initialize(UserGroupInformation.java:271)
at org.apache.hadoop.security.UserGroupInformation.setConfiguration(UserGroupInformation.java:299)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.initAndStartAppMaster(MRAppMaster.java:1473)
at org.apache.hadoop.mapreduce.v2.app.MRAppMaster.main(MRAppMaster.java:1429)

Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:408)
at org.apache.hadoop.util.ReflectionUtils.newInstance(ReflectionUtils.java:129)
... 7 more

Caused by: java.lang.UnsatisfiedLinkError: org.apache.hadoop.security.JniBasedUnixGroupsMapping.anchorNative()V
at org.apache.hadoop.security.JniBasedUnixGroupsMapping.anchorNative(Native Method)
at org.apache.hadoop.security.JniBasedUnixGroupsMapping.<clinit>(JniBasedUnixGroupsMapping.java:49)
at org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback.<init>(JniBasedUnixGroupsMappingWithFallback.java:39)
... 12 more

2015-01-06 11:56:23,366 INFO [main] org.apache.hadoop.util.ExitUtil: Exiting with status 1

해결법

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

    1.오류 메시지 : "MRAppMaster 시작 오류", "InvocationTargetException", "UnsatisfiedLinkError"

    오류 메시지 : "MRAppMaster 시작 오류", "InvocationTargetException", "UnsatisfiedLinkError"

    근본 원인 : "org.apache.hadoop.security.JniBasedUnixGroupsMapping"클래스에서 기본 함수 "anchorNative"를 실행하지 못했습니다.

    설명 : "anchorNative"함수는 "libhadoop.so"라이브러리의 함수를 호출합니다. 이 라이브러리의 경로는 다음 환경 변수로 지정됩니다.

    export JAVA_LIBRARY_PATH
    export HADOOP_COMMON_LIB_NATIVE_DIR
    

    Hadoop 소스 코드에서 java 라이브러리 클래스 경로를 다음과 같이 인쇄하십시오.

    System.err.println( (System.getProperty("java.library.path") );
    
    # result
    /home/maidinh/hadoop2/build/hadoop-2.6.0-src/hadoop-dist/target/hadoop-2.6.0/lib/native:
    /usr/java/packages/lib/amd64:
    /usr/lib64:
    /lib64:
    /lib:
    /usr/lib
    

    라이브러리 "libhadoop.so"의 서로 다른 버전이이 위치에서 충돌을 일으킬 수 있습니다.

    해결책 : 네이티브 라이브러리의 올바른 경로 (hadoop-2.6.0 / lib / native)를 제외하고 다른 디렉토리의 "libhadoop.so"를 모두 삭제하십시오.

    참고 사항 : hadoop의 모든 관련 라이브러리 삭제

    rm -r libhadoop*
    rm -r libhdfs*
    
  2. from https://stackoverflow.com/questions/27791518/hadoop-2-6-0-basic-error-starting-mrappmaster-after-installing by cc-by-sa and MIT license