解決 Unable to load native-hadoop library for your platform


 

安裝hadoop啟動之后總有警告:Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

 

原因:
Apache提供的hadoop本地庫是32位的,而在64位的服務器上就會有問題,因此需要自己編譯64位的版本。

 

1、首先找到對應自己hadoop版本的64位的lib包,可以自己手動去編譯,但比較麻煩,也可以去網上找,好多都有已經編譯好了的。

 

2、可以去網站:http://dl.bintray.com/sequenceiq/sequenceiq-bin/  下載對應的編譯版本

 

3、將准備好的64位的lib包解壓到已經安裝好的hadoop安裝目錄的lib/native 和 lib目錄下:

 

 

 

[java]  view plain  copy
 
  1. [hadoop@hadoopTest ~]$ tar -xvf hadoop-native-64-2.7.0.tar -C hadoop-2.7.2/lib/native  

 

[java]  view plain  copy
 
  1. [hadoop@hadoopTest ~]$ tar -xvf hadoop-native-64-2.7.0.tar -C hadoop-2.7.2/lib  

 

 
        

4、然后增加環境變量:

 

 

 

 

[java]  view plain  copy
 
  1. [hadoop@hadoopTest hadoop-2.7.2]$ vi /etc/profile  

5、增加下面的內容:

 

 

 

 

[java]  view plain  copy
 
  1. export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native  
  2. export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"  

6、讓環境變量生效

 

 

 

 

[java]  view plain  copy
 
  1. [hadoop@hadoopTest hadoop-2.7.2]$ source /etc/profile  


7、自檢hadoop checknative –a 指令檢查

 

 

 

 

[java]  view plain  copy
 
    1. <pre name="code" class="java">[hadoop@hadoopTest hadoop-2.7.2]$ hadoop checknative –a  

 

 
        

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM