系统环境要求

1
2
3
4
5
6
7
系统: 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

准备工作

1
2
# 安装编译需要的依赖库
$ yum install -y lzo-devel zlib-devel autoconf automake libtool cmake openssl-devel cmake gcc gcc-c++

安装Maven

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
#上传maven安装包
# 进入上安装包的传文件夹
$ cd /opt/lagou/software

# 解压缩
$ tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /opt/lagou/servers

# 配置到系统环境变量
$ vim /etc/profile

# MAVEN_HOME
export MAVEN_HOME=/opt/lagou/servers/apache-maven-3.6.3
export PATH=$PATH:$MAVEN_HOME/bin

# 刷新配置文件
$ source /etc/profile

# 验证maven安装是是否成功
$ mvn -version

# 添加aliyun镜像
# 进入安装包解压的文件夹中
$ cd /opt/lagou/servers/apache-maven-3.6.3/conf

# 修改镜像源地址
$ vim setting.xml

<mirror>
<id>nexus</id>
<mirrorOf>*</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
</mirror>
<mirror>
<id>nexus-public-snapshots</id>
<mirrorOf>public-snapshots</mirrorOf>
<url>http://maven.aliyun.com/nexus/content/repositories/snapshots/</url>
</mirror>

安装protobuf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# 安装依赖环境
$ yum groupinstall Development tools -y

# 下载(不推荐)
$ https://github.com/protocolbuffers/protobuf/releases/download/v2.5.0/protobuf-2.5.0.tar.gz

#上传protobuf安装包
# 进入上安装包的传文件夹
$ cd /opt/lagou/software

# 解压缩
$ tar -zxvf protobuf-2.5.0.tar.gz -C /opt/lagou/servers
# 进入解压目录 配置安装路径(--prefix=/usr/local/protobuf-2.5.0)
$ cd /opt/lagou/servers/protobuf-2.5.0
$ ./configure --prefix=/opt/lagou/servers/protobuf-2.5.0

# 编译
$ make

# 验证编译文件
$ make check

# 安装
$ make install

# 配置protobuf环境变量
$ vim /etc/profile

# PROTOCBUF_HOME
export PROTOCBUF_HOME=/opt/lagou/servers/protobuf-2.5.0
export PATH=$PATH:$PROTOCBUF_HOME/bin

# 刷新配置文件
$ source /etc/profile

# 验证是否安装成功
$ protoc --version

安装Findbugs

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#下载(不推荐)
$ https://jaist.dl.sourceforge.net/project/findbugs/findbugs/1.3.9/findbugs-1.3.9.tar.gz

#上传安装包
# 进入上安装包的传文件夹
$ cd /opt/lagou/software

# 解压缩
$ tar -zxvf findbugs-1.3.9.tar.gz -C /opt/lagou/servers

# 配置系统环境变量
$ vim /etc/profile

# FINDBUGS_HOME
export FINDBUGS_HOME=/opt/lagou/servers/findbugs-1.3.9
export PATH=$PATH:$FINDBUGS_HOME/bin

# 刷新配置文件
$ source /etc/profile

# 验证是否安装成功
$ findbugs -version

上传源码文件

1
2
3
4
5
6
7
8
9
#上传安装包
# 进入上安装包的传文件夹
$ cd /opt/lagou/software

# 解压缩
$ tar -zxvf hadoop-2.9.2-src.tar.gz -C /opt/lagou/servers

# 进入源码所在文件
$ cd /opt/lagou/servers/hadoop-2.9.2-src
  • 进入代码文件目标路径

    如hadoop-2.9.2-src/hadoop-mapreduce-project/hadoop-mapreduce-client/hadoop- mapreduce-client-core/src/main/java/org/apache/hadoop/mapreduce/lib/input

    上传自定义InputFormat的实现类

  • 进入Hadoop源码目录执行编译

1
2
3
4
5
# 进入源码所在文件
$ cd /opt/lagou/servers/hadoop-2.9.2-src

# 编译
$ mvn package -Pdist,native -DskipTests -Dtar
  • 出现jar包无法下载问题

    hadoop-aws:jar时缺少依赖包DynamoDBLocal:jar

    选择手动下载该Jar包,上传到本地maven仓库

    1
    2
    3
    4
    # 进入缺少依赖包的文件夹
    $ cd /root/.m2/repository/com/amazonaws/DynamoDBLocal/1.11.86

    # 上传DynamoDBLocal:jar