版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_41455420/article/details/84346770
一、编译环境
每个hadoop版本需要的软件版本不全同可自行根据BUILDING.txt自行调整,已经验证下面列表能编译hadoop2.X,3.X
- CentOS 6.7 x64
- java 1.8
- apache-ant-1.10.3
- apache-maven-3.5.3
- cmake-3.4.1
- findbugs-1.3.9
- protobuf-2.5.0
软件安装
java、maven、ant、cmake、findbugs解压配置环境变量即可这里不过多描述
安装protobuf的前置软件
yum -y install maven svn ncurses-devel gcc* lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel
在protobuf目录依次执行如下命令
$ ./configure
$ make
$ make check
$ make install
安装完成截图,如果出错查找安装相关依赖软件后再尝试
二、下载待编译源码
三、编译
这里以hadoop-2.9.2为例进行编译
在BUILDING.txt中找到如下位置
Building distributions:
Create binary distribution without native code and without documentation:
$ mvn package -Pdist -DskipTests -Dtar -Dmaven.javadoc.skip=true
Create binary distribution with native code and with documentation:
$ mvn package -Pdist,native,docs -DskipTests -Dtar
Create source distribution:
$ mvn package -Psrc -DskipTests
Create source and binary distributions with native code and documentation:
$ mvn package -Pdist,native,docs,src -DskipTests -Dtar
Create a local staging version of the website (in /tmp/hadoop-site)
$ mvn clean site -Preleasedocs; mvn site:stage -DstagingDirectory=/tmp/hadoop-site
执行hadoop解压目录执行第一条命令
创建没有本机代码和文档的二进制文件
mvn package -Pdist -DskipTests -Dtar -Dmaven.javadoc.skip=true
漫长的等待~
四、编译完成
编译后文件路径
hadoop-2.9.2-src/hadoop-dist/target
编译过的版本
除2.9.2版本过大其余版本已上传csdn,不想编译的可以直接下载使用
五、总结
- 文件下载失败
更换maven源
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<!--<url>http://nexus.corp.qunar.com/nexus/content/groups/public</url>-->
<mirrorOf>central</mirrorOf>
</mirror>
翻墙
- 编译时间过长
mvn命令没有设置-Dmaven.javadoc.skip=true
下载依赖过慢更换较好的网络 - 1,2步骤修改后编译失败
更改linux内存到2G以上
喜欢就点赞评论+关注吧
感谢阅读,希望能帮助到大家,谢谢大家的支持!