2015-01-06 61 views
4

我刚开始使用Hadoop 2.Hadoop的2.6.0:基本的错误安装

工作基本CONFIGS安装后经过“MRAppMaster开始”,我总是无法运行任何例子。有没有人看到这个问题,请帮助我?

和错误是一样的东西

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 

回答

4

错误消息: “错误启动MRAppMaster”, “的InvocationTargetException”, “UnsatisfiedLinkError”

根本原因:未能在分类中执行本地函数“anchorNative”的“org.apache.hadoop.security.JniBasedUnixGroupsMapping”

说明:功能“anchorNative”将调用库“libhadoop.so”的功能。由这些环境变量指定这个库的路径:

export JAVA_LIBRARY_PATH 
export HADOOP_COMMON_LIB_NATIVE_DIR 

在Hadoop的源代码,通过

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 

不同版本库的打印Java库类路径“libhadoop.so”即可在这些发生冲突的地点发现。

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

注:删除Hadoop的

rm -r libhadoop* 
rm -r libhdfs* 
+1

的所有相关的库那是真正有用的感谢名单了很多..有在/ usr/lib64下冲突的Hadoop的库。 – surendran