【问题标题】:Hadoop 2.6.0: Basic error "starting MRAppMaster" after installingHadoop 2.6.0:安装后基本错误“正在启动 MRAppMaster”
【发布时间】:2015-01-06 03:09:44
【问题描述】:

我刚刚开始使用 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

【问题讨论】:

    标签: hadoop mapreduce hadoop-yarn


    【解决方案1】:

    错误消息:“错误启动 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”的不同版本可以在这些产生冲突的位置找到。

    解决方法:除了native库的正确路径(在hadoop-2.6.0/lib/native中),删除其他目录下的所有“libhadoop.so”。

    注意事项:删除hadoop的所有相关库

    rm -r libhadoop*
    rm -r libhdfs*
    

    【讨论】:

    • 这真的很有帮助。.. /usr/lib64 中有冲突的 hadoop 库。
    猜你喜欢
    • 1970-01-01
    • 2021-09-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-17
    • 1970-01-01
    相关资源
    最近更新 更多