一.在Hadoop官網上下載下傳源碼包
1. 在 Hadoop官網上下載下傳hadoop-2.7.2的源碼包,下載下傳位址: http://mirrors.noc.im/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2-src.tar.gz
2. 把下載下傳下來的源碼包,上傳到linux上,在這裡我放在了/home/soft/下
二.準備linux上運作環境
1. 上傳jdk、ant、maven、protobuf等到到linux上,在這裡我放在了/home/soft/下
2. 安裝jdk
使用指令:rpm -ivh jdk-7u67-linux-x64.rpm
安裝完後配置環境變量,修改/etc/profile檔案,指令:vi /etc/profile
在最後添加内容:
export JAVA_HOME=/usr/ Java /jdk1.7.0_67/
export PATH=$PATH:$JAVA_HOME/bin
使用指令生效:source /etc/profile
測試:java -version
3.安裝maven
解壓maven到/opt/目錄下,并配置環境變量
解壓指令:tar -zxvf apache-maven-3.3.9-bin.tar.gz -C /opt/
修改/etc/profile檔案,在檔案末尾新增下面兩行内容:
export MAVEN_HOME=/opt/apache-maven-3.3.9
export PATH= $PATH:$ MAVEN_HOME/bin
使用指令生效:source /etc/profile
4.安裝g++
安裝指令:yum -y install gcc gcc-c++
5.安裝protobuf
解壓protobuf到目前目錄
解壓指令:tar -zxvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0/
編譯安裝
預編譯指令:./configure –prefix=/opt/protobuf-2.5
編譯和安裝指令:make && make install
配置環境變量,修改/etc/profile檔案,末尾添加下面兩行内容:
export PROTOBUF_HOME=/opt/protobuf-2.5
export PATH=$PATH:$ PROTOBUF_HOME/bin
使用指令生效:source /etc/profile
6.安裝openssl
安裝指令:yum -y install openssl-devel
7.安裝cmake
安裝指令:yum -y install cmake
8.安裝ant
解壓maven到/opt/目錄下,并配置環境變量
解壓指令:tar -zxvf apache-ant-1.9.7-bin.tar.gz -C /opt/
修改/etc/profile檔案,在檔案末尾新增下面兩行内容:
export ANT_HOME=/opt/apache-ant-1.9.7/
export PATH=$PATH:$ ANT_HOME/bin
使用指令生效:source /etc/profile
三.編譯
1.解壓hadoop-2.7.2 tar包
解壓指令:tar -zxvf hadoop-2.7.2-src.tar.gz
2.編譯
cd hadoop-2.7.2-src
編譯指令:mvn package -Pdist,native -DskipTests -Dtar
3.編譯成功并檢視
編譯完成後,在hadoop-dist/target/目錄下檢視,會有hadoop-2.7.2.tar.gz這個檔案
四.問題總結
編譯過程中會報各種錯,可以直接終止編譯,在重新執行編譯,多執行幾次就可以了,一般都是因為網絡原因jar包下載下傳有問題或maven倉庫連接配接逾時等原因,我共執行了5次就成功了。在說明下,我在用root使用者執行編譯的,如果用其他的使用者編譯可能會存在權限問題。