1. 程式人生 > >Hadoop編譯源碼

Hadoop編譯源碼

特殊情況 最終 hadoop 時間 sof ldconfig 網絡阻塞 c++ 均可

Hadoop編譯源碼

克隆一個虛擬機

然後一步一步安裝就行

安裝所需:鏈接: https://pan.baidu.com/s/1jIZlQmi 密碼: gggv

5.1 前期準備工作

1CentOS聯網

配置CentOS能連接外網。Linux虛擬機ping www.baidu.com暢通的

註意:采用root角色編譯,減少文件夾權限出現問題

2jar準備(hadoop源碼、JDK7 mavenant protobuf)

1hadoop-2.7.2-src.tar.gz

2jdk-8u144-linux-x64.tar.gz

3apache-ant-1.9.9-bin.tar.gz

4apache-maven-3.0.5-bin.tar.gz

5protobuf-2.5.0.tar.gz

5.2 jar包安裝

0註意:所有操作必須在root用戶下完成

1)JDK解壓、配置環境變量 JAVA_HOMEPATH,驗證java-version(如下都需要驗證是否配置成功)

[root@hadoop101 software] # tar -zxf jdk-8u144-linux-x64.tar.gz -C /opt/module/

[root@hadoop101 software]# vi /etc/profile

#JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8.0_144

export PATH=$PATH:$JAVA_HOME/bin

[root@hadoop101 software]#source /etc/profile

驗證命令:java -version

2)Maven解壓、配置 MAVEN_HOMEPATH

[root@hadoop101 software]# tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /opt/module/

[root@hadoop101 apache-maven-3.0.5]# vi /etc/profile

#MAVEN_HOME

export MAVEN_HOME=/opt/module/apache-maven-3.0.5

export PATH=$PATH:$MAVEN_HOME/bin

[root@hadoop101 software]#source /etc/profile

驗證命令:mvn -version

3)ant解壓、配置 ANT _HOMEPATH

[root@hadoop101 software]# tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module/

[root@hadoop101 apache-ant-1.9.9]# vi /etc/profile

#ANT_HOME

export ANT_HOME=/opt/module/apache-ant-1.9.9

export PATH=$PATH:$ANT_HOME/bin

[root@hadoop101 software]#source /etc/profile

驗證命令:ant -version

4)安裝 glibc-headers g++ 命令如下:

[root@hadoop101 apache-ant-1.9.9]# yum install glibc-headers

[root@hadoop101 apache-ant-1.9.9]# yum install gcc-c++

5)安裝makecmake

[root@hadoop101 apache-ant-1.9.9]# yum install make

[root@hadoop101 apache-ant-1.9.9]# yum install cmake

6)解壓protobuf 進入到解壓後protobuf主目錄/opt/module/protobuf-2.5.0

然後相繼執行命令:

[root@hadoop101 software]# tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/

[root@hadoop101 opt]# cd /opt/module/protobuf-2.5.0/

[root@hadoop101 protobuf-2.5.0]#./configure

[root@hadoop101 protobuf-2.5.0]# make

[root@hadoop101 protobuf-2.5.0]# make check

[root@hadoop101 protobuf-2.5.0]# make install

[root@hadoop101 protobuf-2.5.0]# ldconfig

[root@hadoop101 hadoop-dist]# vi /etc/profile

#LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/opt/module/protobuf-2.5.0

export PATH=$PATH:$LD_LIBRARY_PATH

[root@hadoop101 software]#source /etc/profile

驗證命令:protoc --version

7)安裝openssl

[root@hadoop101 software]#yum install openssl-devel

8)安裝 ncurses-devel庫:

[root@hadoop101 software]#yum install ncurses-devel

到此,編譯工具安裝基本完成。

5.3 編譯源碼

1解壓源碼到/opt/目錄

[root@hadoop101 software]# tar -zxvf hadoop-2.7.2-src.tar.gz -C /opt/

2)進入到hadoop源碼主目錄

[root@hadoop101 hadoop-2.7.2-src]# pwd

/opt/hadoop-2.7.2-src

3)通過maven執行編譯命令

[root@hadoop101 hadoop-2.7.2-src]#mvn package -Pdist,native -DskipTests -Dtar

等待時間30分鐘左右,最終成功是全部SUCCESS。

4成功的64hadoop包在/opt/hadoop-2.7.2-src/hadoop-dist/target下。

[root@hadoop101 target]# pwd

/opt/hadoop-2.7.2-src/hadoop-dist/target

5.4 常見的問題解決方案

1)MAVEN install時候JVM內存溢出

處理方式:在環境配置文件和maven的執行文件均可調整MAVEN_OPTheap大小。(詳情查閱MAVEN 編譯 JVM調優問題,如:http://outofmemory.cn/code-snippet/12652/maven-outofmemoryerror-method

2)編譯期間maven報錯。可能網絡阻塞問題導致依賴庫下載不完整導致,多次執行命令(一次通過比較難):

[root@hadoop101 hadoop-2.7.2-src]#mvn package -Pdist,native -DskipTests -Dtar

3)antprotobuf等錯誤,插件下載未完整或者插件版本問題,最開始鏈接有較多特殊情況,同時推薦

2.7.0版本的問題匯總帖子 http://www.tuicool.com/articles/IBn63qf

Hadoop編譯源碼