一、環(huán)境準(zhǔn)備
1.CentOS配置
最好是用新克隆的虛擬機(jī) ,虛擬機(jī)內(nèi)存設(shè)置大一點(diǎn)(我設(shè)置的4G),配置網(wǎng)絡(luò),主機(jī)名,關(guān)閉防火墻,關(guān)閉selinux
注意:采用root角色編譯,減少文件夾權(quán)限出現(xiàn)問(wèn)題
2.jar包準(zhǔn)備(hadoop源碼、JDK8、maven、ant 、protobuf)
(1)hadoop-2.7.2-src.tar.gz
(2)jdk-8u144-linux-x64.tar.gz
(3)apache-ant-1.9.9-bin.tar.gz(build工具,打包用的)
(4)apache-maven-3.0.5-bin.tar.gz
(5)protobuf-2.5.0.tar.gz(序列化的框架)
3.jar包安裝(注意:所有操作必須在root用戶(hù)下完成)
JDK
1.解壓
tar -zxf jdk-8u141-linux-x64.tar.gz -C /export/compile
2.配置環(huán)境變量
1
2
3
|
vim /etc/profile export JAVA_HOME=/export/compile/jdk1.8.0_141 export PATH=$PATH:$JAVA_HOME/bin |
3.更新profile文件
source /etc/profile
4.驗(yàn)證安裝是否成功
驗(yàn)證命令:jps 出現(xiàn)jps進(jìn)程表示安裝配置成功
2.Maven
1.解壓&重命名
1
2
|
tar -zxf apache-maven-3.0.5-bin.tar.gz -C /export/compile mv /export/compile/apache-maven-3.0.5-bin.tar.gz /export/compile/maven |
2.修改配置文件
vim /export/compile/maven/conf/settings.xml
添加阿里云鏡像地址:
1
2
3
4
5
6
7
8
|
<mirrors> <mirror> <id>nexus-aliyun</id> <mirrorOf>central</mirrorOf> <name>Nexus aliyun</name> <url>http://maven.aliyun.com/nexus/content/groups/public</url> </mirror> </mirrors> |
3.配置環(huán)境變量
1
2
3
|
vim /etc/profile export MAVEN_HOME=/export/compile/maven export PATH=$PATH:$MAVEN_HOME/bin |
4.更新profile文件
source /etc/profile
5.驗(yàn)證安裝是否成功
驗(yàn)證命令:mvn -version
出現(xiàn)版本信息表示安裝成功
3.ant
1.解壓&重命名
1
2
|
tar -zxf apache-ant-1.9.9-bin.tar.gz -C /export/compile mv apache-ant-1.9.9 ant |
2.配置環(huán)境變量
1
2
3
|
vim /etc/profile export ANT_HOME=/export/compile/ant export PATH=$PATH:$ANT_HOME/bin |
3.更新profile文件
source /etc/profile
4.驗(yàn)證安裝是否成功
驗(yàn)證命令:ant -version 出現(xiàn)版本信息表示安裝成功
4.glibc-headers
1
2
|
yum -y install glibc-headers yum -y install gcc-c++ |
5.make和cmake
1
2
|
yum -y install make yum -y install cmake |
6.protobuf
1.解壓&重命名&進(jìn)入protobuf根目錄
1
2
3
|
tar -zxf protobuf-2.5.0.tar.gz -C /export/compile mv protobuf-2.5.0/ protobuf cd /export/compile/protobuf |
2.依次執(zhí)行如下命令
1 ./configure
2 make
3 make check
4 make install
5 ldconfig
3.配置環(huán)境變量
1
2
3
|
vim /etc/profile export LD_LIBRARY_PATH=/export/compile/protobuf export PATH=$PATH:$LD_LIBRARY_PATH |
4.更新profile文件
source /etc/profile
5.驗(yàn)證安裝是否成功
驗(yàn)證命令:protoc --version
出現(xiàn)版本信息表示安裝成功
7.安裝openssl庫(kù)
yum -y install openssl-devel
8.安裝 ncurses-devel庫(kù)
yum -y install ncurses-devel
二、編譯源碼
1.解壓
tar -zxf hadoop-2.7.2-src.tar.gz -C /export/compile
2.進(jìn)入hadoop源碼主目錄
/export/compile/hadoop-2.7.2-src
3.通過(guò)maven執(zhí)行編譯命令
mvn package -Pdist,native -DskipTests -Dtar
4.然后就是漫長(zhǎng)的等待...(大約等待時(shí)間30分鐘左右,最終成功是全部SUCCESS,如下圖所示)
5.成功的64位hadoop包在/export/compile/hadoop-2.7.2-src/hadoop-dist/target
目錄下
三、編譯源碼過(guò)程中常見(jiàn)的問(wèn)題及解決方案
(1)MAVEN install時(shí)候JVM內(nèi)存溢出
原因以及處理方式:在環(huán)境配置文件和maven的執(zhí)行文件均可調(diào)整MAVEN_OPT的heap大小。
(詳情查閱MAVEN 編譯 JVM調(diào)優(yōu)問(wèn)題,如:http://outofmemory.cn/code-snippet/12652/maven-outofmemoryerror-method)
(2)編譯期間maven報(bào)錯(cuò)
原因以及處理方式:可能網(wǎng)絡(luò)阻塞問(wèn)題導(dǎo)致依賴(lài)庫(kù)下載不完整導(dǎo)致,多次執(zhí)行命令(一次通過(guò)比較難):
mvn package -Pdist,nativeN -DskipTests -Dtar
(3)報(bào)ant、protobuf等錯(cuò)誤
原因以及處理方式:插件下載未完整或者插件版本問(wèn)題,最開(kāi)始鏈接有較多特殊情況。
總結(jié)
到此這篇關(guān)于Hadoop2.7.2 編譯64位源碼的文章就介紹到這了,更多相關(guān)Hadoop 編譯源碼內(nèi)容請(qǐng)搜索服務(wù)器之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持服務(wù)器之家!
原文鏈接:https://blog.csdn.net/qq_43733123/article/details/104534926