奈學教育:Hadoop原始碼編譯全流程分享

奈學教育發表於2020-06-03

首先準備一個hadoop原始碼包,我選擇的hadoop版本是:hadoop-2.7.7-src.tar.gz,在hadoop-2.7.7的原始碼包的根目錄下有一個文件叫做BUILDING.txt,這其中說明了編譯hadoop所需要的一些編譯環境相關的東西。不同的hadoop版本的要求都不一樣,對應的版本參照BUILDING.txt

安裝對應軟體(必須聯網)

安裝openssl-devel

yum -y install svn 

yum -y install autoconf automake libtool cmake zlib-devel lzo-devel 

yum -y install ncurses-devel 

yum -y install openssl-devel 

yum -y install zlib1g-dev libssl-dev

安裝gcc

檢測gcc是否已經安裝:gcc -v

如果最後一行出現gcc版本資訊日誌,表示已經安裝成功過了

命令安裝:

yum install -y gcc

安裝gcc-c++

命令安裝:yum -y install gcc-c++

安裝JDK

安裝包:jdk-7u80-linux-x64.tar.gz

解壓安裝:tar -zxvf /root/jdk-7u80-linux-x64.tar.gz -C /root/apps/

配置環境變數:

vi /etc/profile

加以下內容:

export JAVA_HOME=/root/apps/jdk1.7.0_80

export PATH=$PATH:$JAVA_HOME/bin

export CLASSPATH=.:/root/apps/jdk1.7.0_80/lib/dt.jar:/root/apps

/jdk1.7.0_80/lib/tools.jar

環境變數生效:source /etc/profile

檢查安裝是否成功:java -version

有公開課免費試聽哦!

安裝Maven

安裝包:apache-maven-3.5.3-bin.tar.gz

解壓安裝:tar -zxvf /root/apache-maven-3.5.3-bin.tar.gz -C /root/apps/

修改配置檔案:

進入到maven的conf目錄:cd /root/apps/apache-maven-3.5.3/conf

修改配置檔案settings.xml:

在配置檔案的中部找到localRepository這個標籤,是被註釋掉的,將其放出      來自己新增路徑:

<localRepository>

/root/mavenlocalrepo/

</localRepository>

配置環境變數:

vi /etc/profile

追加一下內容:

export M2_HOME=/root/apps/apache-maven-3.5.3 

export PATH=$PATH:$M2_HOME/bin

環境變數生效:source /etc/profile

檢查安裝是否成功:mvn -version

設定maven倉庫:鑑於遠端maven倉庫的網路連線不穩定,可以設定成阿里的

安裝Ant

安裝包:apache-ant-1.9.9-bin.tar.gz

解壓安裝:tar -zxvf /root/apache-ant-1.9.9-bin.tar.gz -C /root/apps/配置環境變數:

vi /etc/profile

加以下內容:

export ANT_HOME=/root/apps/apache-ant-1.9.9 

export PATH=$PATH:$ANT_HOME/bin

環境變數生效:source /etc/profile

檢查安裝是否成功:ant -version

安裝FindBugs

安裝包:findbugs-3.0.0.tar.gz

解壓安裝:tar -zxvf /root/findbugs-3.0.0.tar.gz -C /root/apps/

配置環境變數:

vi /etc/profile

加以下內容:

export FINDBUGS_HOME=/root/apps/findbugs-3.0.0 

export PATH=$PATH:$FINDBUGS_HOME/bin

環境變數生效:source /etc/profile

檢查安裝是否成功:findbugs -version

安裝make

先檢測是否安裝:

make -version 

沒有安裝使用yum安裝:

yum install -y make

安裝Cmake

安裝包:cmake-2.8.12.2.tar.gz

解壓安裝:tar -zxvf /root/cmake-2.8.12.2.tar.gz -C /root/apps/

編譯安裝:

進入根目錄:cd /root/apps/cmake-2.8.12.2/

依次執行一下命令(比較耗時):

./bootstrap 

gmake & gmake install

檢查安裝是否成功:cmake -version

安裝Protobuf

安裝包:protobuf-2.5.0.tar.gz

解壓安裝:tar -zxvf /root/protobuf-2.5.0.tar.gz -C /root/apps/

編譯安裝:

首先進入到根目錄:cd /root/apps/protobuf-2.5.0/ 

然後依次執行以下命令(比較耗時): 

./configure --prefix=/root/apps/protobuf # 表示安裝到這個目錄 

make 

make check 

make install

配置環境變數:

vi /etc/profile

加以下內容:

目錄就是./configure

export PROTOBUF_HOME=/root/apps/protobuf

export PATH=$PATH:$PROTOBUF_HOME/bin

環境變數生效:source /etc/profile

檢查安裝是否成功:protoc -version

安裝Snappy

安裝包:snappy-1.1.1.tar.gz

解壓安裝:tar -zxvf /root/snappy-1.1.1.tar.gz -C /root/apps/

編譯安裝:

cd ~/apps/snappy-1.1.1/ 

然後依次執行以下命令(比較耗時): 

./configure --prefix=/root/apps/protobuf # 表示安裝到這個目錄 

make 

make check 

make install

檢視sanppy lib庫:ls -lh /usr/local/lib |grep snappy

編譯Hadoop 

步驟一

解壓hadoop原始碼包tar -zxvf /root/hadoop-2.7.7-src.tar.gz -C /root/apps/

步驟二

在編譯之前防止 java.lang.OutOfMemoryError: Java heap space 堆疊問題,在centos系統中執行命令

export MAVEN_OPTS="-Xms256m -Xmx512m"

步驟三

切換工作目錄到hadoop-2.7.7根目錄下cd /root/apps/hadoop-2.7.7-src

步驟四

執行編譯:

mvn clean package -Pdist,native -DskipTests -Dtar -Dsnappy.lib=/usr/local/lib - Dbundle.snappy -Drequire.openssl

如果中途編譯失敗,請重複執行這個命令,直到成功。如果編譯過程中,發現卡住了,請停止這個命令,然後重新再執行一遍就可以了。

步驟五

靜靜等待編譯……. 第一次編譯預估一個小時左右,最後編譯成功,jar包所在位置於/root/apps/hadoop-2.7.7-src/hadoop-dist/target

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69976011/viewspace-2695903/,如需轉載,請註明出處,否則將追究法律責任。

相關文章