直接使用官網上下載的hadoop2.6.0在運行時候常常都會遇到WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable警告
這是由於hadoop本地庫和系統不兼容致使,這個時候咱們就須要手動在系統上編譯hadoop了 java
所需包:
jdk-6u29-linux-x64.bin
下載地址:http://download.csdn.net/detail/tonylllz/9385886
apache-ant-1.9.6-bin.tar.gz
下載地址:http://download.csdn.net/detail/tonylllz/9385789
apache-maven-3.2.5-bin.tar.gz
下載地址:http://download.csdn.net/detail/tonylllz/9385793
findbugs-3.0.1.tar.gz
下載地址:http://download.csdn.net/detail/tonylllz/9385813
hadoop-2.6.0-src.tar.gz
下載地址:http://download.csdn.net/detail/tonylllz/9385803
protobuf-2.5.0.tar.gz
下載地址:http://download.csdn.net/detail/tonylllz/9385811 linux
這裏須要注意:
①由於筆者的linux系統是64位的因此須要的jdk也必須是64位的,不然在編譯過程會一直去尋找32位的各個插件進行運行,進而致使錯誤
②protobuf必須是2.5.0版本的
好了,下面咱們開始安裝、編譯吧~ c++
./jdk-6u29-linux-x64.bin mv ./$jdk_bin_dir /usr/local/jdk ln -s /usr/local/jdk/bin/java /usr/bin/java ln -s /usr/local/jdk/bin/jps /usr/bin/jps vim /etc/profile 添加 export JAVA_HOME=/usr/local/jdk export PATH=$PATH:$JAVA_HOME/bin: 保存退出/etc/profile,並執行 source /etc/profile
由於protobuf的安裝須要用到c++編譯,因此這裏須要安裝gcc 等工具 yum -y install gcc+ gcc-c++ yum -y install make tar zxvf protobuf-2.5.0.tar.gz cd protobuf-2.5.0 ./configure --prefix=/usr/local/protobuf make make check make install vim /etc/profile 添加 export PATH=$PATH:/usr/local/protobuf/bin/ export PKG_CONFIG_PATH=/usr/local/protobuf/lib/pkgconfig/ 保存退出/etc/profile,並執行 source /etc/profile 配置動態連接庫路徑 vim /etc/ld.so.conf 插入: /usr/local/protobuf/lib 執行 protoc --version 出現如下內容則表示安裝成功 libprotoc 2.5.0
tar zxvf apache-ant-1.9.6-bin.tar.gz vim /etc/profile 添加 export ANT_HOME=/home/hadoop/apache-ant-1.9.6 export PATH=$PATH:$ANT_HOME/bin 保存退出/etc/profile,並執行 source /etc/profile
tar zxvf apache-maven-3.2.5-bin.tar.gz vim /etc/profile 添加 export MAVEN_HOME=/home/hadoop/apache-maven-3.2.5 export PATH=$PATH:$MAVEN_HOME/bin 保存退出/etc/profile,並執行 source /etc/profile
tar zxvf findbugs-3.0.1.tar.gz vim /etc/profile 添加 export FINDBUGS_HOME=/home/hadoop/findbugs-3.0.1 export PATH=$PATH:$FINDBUGS_HOME/bin 保存退出/etc/profile,並執行 source /etc/profile
tar zxvf hadoop-2.6.0-src.tar.gz cd hadoop-2.6.0-src mvn package -Pdist,native -DskipTests -Dtar
編譯成功後的包在 hadoop-2.6.0-src/hadoop-dist/target下 shell
補充說明下,編譯過程不免會遇到問題,本篇文件已經將遇到的問題所需的包都在編譯前提出,並安裝好了,但你們的系統環境不免和筆者有所不一樣。這裏舉例說明下在遇到編譯錯誤的時候該如何去解決 apache
解決方法:
yum -y install zlib
yum -y install zlib-devel vim