標籤:centos上編譯hadoop 2.7
官網下載的 hadoop執行運行警示告:
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
put: `./in‘: No such file or directory
主要是lib下的native-hadoop 是32位的,所以這裡我們自己在64位的系統上編譯hadoop
環境準備:
1 下載hadoop src源碼包
2 所需軟體:java, svn, autoconf, automake, libtool, ncurses-devel, openssl-devel, gcc, lzo-devel, zlib-devel, znt, maven, protobuf, cmake
yum -y install autoconf automake libtool ncurses-devel openssl-devel gcc lzo-devel, zlib-devel cmake
3 安裝jdk
下載jdk bin包並解壓
添加jdk環境變數
在/etc/profile檔案下添加
## JAVA
export JAVA_HOME=/usr/local/java/jdk
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
## PATH
export PATH=$JAVA_HOME/bin
讓重載環境變數 . /etc/profile
4 maven安裝
apache官網下載 maven並解壓,然後把其 bin路徑添加到環境變數
mvn -version
5 protobuf安裝
到網上搜尋 protobuf-2.5.0.tar.gz,下載解壓,
./configure; make; make install
protoc --version
6 ANT安裝
apache官網下載 ANT bin包解壓,把其bin路徑添加到環境變數中
7 編譯hadoop
mvn package -Pdist,native,docs -DskipTests -Dtar
這裡需要一個多小時或更久,並需要連網下載依賴包
最後檔案在 hadoop-2.7.2-src/hadoop-dist/target 中
可以直接拿 hadoop-2.7.2目錄去部署,還有一個hadoop-2.7.2.tar.gz包
CentOS上編譯hadoop 2.7