安裝Hadoop的時候直接用的bin版本,根據教程安裝好以後運行的時候發現出現了:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 錯誤,百度不少都說是版本(32,64)問題,須要從新編譯源碼,歷經一天的時間源碼從新編譯完成以後,再次運行仍舊有這個錯誤,google的解決方案是:java
1.執行:$ export HADOOP_ROOT_LOGGER=DEBUG,consoleshell
查看具體的錯誤信息:apache
17/03/16 11:35:47 DEBUG util.Shell: setsid exited with exit code 0 17/03/16 11:35:47 DEBUG conf.Configuration: parsing URL jar:file:/usr/local/hadoop/share/hadoop/common/hadoop-common-2.7.1.jar!/core-default.xml 17/03/16 11:35:47 DEBUG conf.Configuration: parsing input stream sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@462ac22a 17/03/16 11:35:47 DEBUG conf.Configuration: parsing URL file:/usr/local/hadoop/etc/hadoop/core-site.xml 17/03/16 11:35:47 DEBUG conf.Configuration: parsing input stream java.io.BufferedInputStream@405a2273 17/03/16 11:35:48 DEBUG lib.MutableMetricsFactory: field org.apache.hadoop.metrics2.lib.MutableRate org.apache.hadoop.security.UserGroupInformation$UgiMetrics.loginSuccess with annotation @org.apache.eName=Time, value=[Rate of successful kerberos logins and latency (milliseconds)], about=, always=false, type=DEFAULT, sampleName=Ops) 17/03/16 11:35:48 DEBUG lib.MutableMetricsFactory: field org.apache.hadoop.metrics2.lib.MutableRate org.apache.hadoop.security.UserGroupInformation$UgiMetrics.loginFailure with annotation @org.apache.eName=Time, value=[Rate of failed kerberos logins and latency (milliseconds)], about=, always=false, type=DEFAULT, sampleName=Ops) 17/03/16 11:35:48 DEBUG lib.MutableMetricsFactory: field org.apache.hadoop.metrics2.lib.MutableRate org.apache.hadoop.security.UserGroupInformation$UgiMetrics.getGroups with annotation @org.apache.hadme=Time, value=[GetGroups], about=, always=false, type=DEFAULT, sampleName=Ops) 17/03/16 11:35:48 DEBUG impl.MetricsSystemImpl: UgiMetrics, User and group related metrics 17/03/16 11:35:48 DEBUG util.KerberosName: Kerberos krb5 configuration not found, setting default realm to empty 17/03/16 11:35:48 DEBUG security.Groups: Creating new Groups object 17/03/16 11:35:48 DEBUG util.NativeCodeLoader: Trying to load the custom-built native-hadoop library... 17/03/16 11:35:48 DEBUG util.NativeCodeLoader: Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError: no hadoop in java.library.path 17/03/16 11:35:48 DEBUG util.NativeCodeLoader: java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib 17/03/16 11:35:48 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 17/03/16 11:35:48 DEBUG util.PerformanceAdvisory: Falling back to shell based 17/03/16 11:35:48 DEBUG security.JniBasedUnixGroupsMappingWithFallback: Group mapping impl=org.apache.hadoop.security.ShellBasedUnixGroupsMapping 17/03/16 11:35:48 DEBUG security.Groups: Group mapping impl=org.apache.hadoop.security.JniBasedUnixGroupsMappingWithFallback; cacheTimeout=300000; warningDeltaMs=5000 17/03/16 11:35:48 DEBUG security.UserGroupInformation: hadoop login 17/03/16 11:35:48 DEBUG security.UserGroupInformation: hadoop login commit 17/03/16 11:35:48 DEBUG security.UserGroupInformation: using local user:UnixPrincipal: hadoop 17/03/16 11:35:48 DEBUG security.UserGroupInformation: Using user: "UnixPrincipal: hadoop" with name hadoop 17/03/16 11:35:48 DEBUG security.UserGroupInformation: User entry: "hadoop" 17/03/16 11:35:48 DEBUG security.UserGroupInformation: UGI loginUser:hadoop (auth:SIMPLE)
其中有個warn信息,在這個信息附近找到一個:Failed to load native-hadoop with error: java.lang.UnsatisfiedLinkError,這代表是java.library.path出了問題,centos
解決方案是在文件hadoop-env.sh中增長:app
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native" oop
解決問題過程當中遇到的比較好的連接:ui
http://blog.csdn.net/l1028386804/article/details/51538611google
http://blog.csdn.net/xichenguan/article/details/38797331spa
http://www.chinahadoop.cn/classroom/5/thread/43.net
http://www.powerxing.com/install-hadoop-in-centos/