注:这个是介绍了我们如何在hadoop源码中添加我们自定义的内容之后,如何进行编译和安装,最终使用。
系统: CentOS-7_x86_64
protobuf: protoc-2.5.0
maven: maven-3.6.0
hadoop: hadoop-2.9.2
java: jdk1.8.0_131
cmake: cmake-2.8.12.2
OpenSSL: OpenSSL 1.0.2k-fips
findbugs: findbugs-1.3.9
准备工作
# 安装编译需要的依赖库
yum install -y lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel cmake gcc gcc-c++
#上传maven安装包
# 解压缩
$ tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /usr/local/# 配置到系统环境变量
$ vim /etc/profile
export MAVEN_HOME=/usr/local/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin
# 刷新配置文件
$ source /etc/profile
# 验证maven安装是是否成功
$ mvn -version
# 安装依赖环境
$ yum groupinstall Development tools -y# 下载
$ https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz
#上传protobuf安装包# 解压缩
$ tar -zxvf protobuf-2.5.0.tar.gz
cd protobuf-2.5.0# 进入解压目录 配置安装路径(--prefix=/usr/local/protobuf-2.5.0)
$ ./configure --prefix=/usr/local/protobuf-2.5.0
# 编译
$ make
# 验证编译文件
$ make check
# 安装
$ make install
# 配置protobuf环境变量
$ vim /etc/profileexport PROTOCBUF_HOME=/usr/local/protobuf-2.5.0
export PATH=$PATH:$PROTOCBUF_HOME/bin# 刷新配置文件
$ source /etc/profile
# 验证是否安装成功
$ protoc --version
[root@localhost ~]# protoc --version
libprotoc 2.5.0
#下载
$ https://jaist.dl.sourceforge.net/project/findbugs/findbugs/1.3.9/findbugs-1.3.9.tar.gz
#上传安装包
# 解压缩
$ tar -zxvf findbugs-1.3.9.tar.gz -C /usr/local/
# 配置系统环境变量
$ vim /etc/profile
export FINDBUGS_HOME=/usr/local/findbugs-1.3.9
export PATH=$PATH:$FINDBUGS_HOME/bin
# 刷新配置文件
$ source /etc/profile
# 验证是否安装成功
$ findbugs -version[root@localhost ~]# findbugs -version
1.3.9
找到maven环境下的settings.xml文件,添加镜像代理
nexus
*
http://maven.aliyun.com/nexus/content/groups/public/
nexus-public-snapshots
public-snapshots
http://maven.aliyun.com/nexus/content/repositories/snapshots/
进入代码文件目标路径
/root/hadoop-2.9.2-src/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop-mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/input
进入Hadoop源码目录
cd /root/hadoop-2.9.2-src
执行编译命令
mvn package -Pdist,native -DskipTests -Dtar
hadoop-aws:jar时缺少依赖包DynamoDBLocal:jar
选择手动下载该Jar包,上传到本地maven仓库
cd /root/.m2/repository/com/amazonaws/DynamoDBLocal/1.11.86
编译成功
链接:https://pan.baidu.com/s/1x8q7NIx4GnC10b4juO8FEA?pwd=6txj