Hadoop 2.6.0:基本错误"启动MRAppMaster"安装后

时间:2015-01-06 03:09:45

标签: hadoop mapreduce yarn

我刚开始使用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 个答案:

答案 0 :(得分:4)

错误消息:&#34;启动MRAppMaster错误&#34;,&#34; InvocationTargetException&#34;,&#34; UnsatisfiedLinkError&#34;

根本原因:无法执行本机功能&#34; anchorNative&#34;在班级&#34; org.apache.hadoop.security.JniBasedUnixGroupsMapping&#34;

说明:功能&#34; anchorNative&#34;将调用库中的函数&#34; libhadoop.so&#34;。此库的路径由以下环境变量指定:

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

库的不同版本&#34; libhadoop.so&#34;可以在这些发生冲突的地方找到。

解决方案:除了本机库的正确路径(在hadoop-2.6.0 / lib / native中)之外,删除所有&#34; libhadoop.so&#34;在其他目录中。

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

rm -r libhadoop*
rm -r libhdfs*