文章目录

  • 1.首先新建一个干净的虚拟机
  • 2.查看编译所需配件
  • 3.进入(配件)安装步骤
  • 3.1JDK安装
  • 3.2 ant安装
  • 3.3maven 安装
  • 3.4 findbugs
  • 3.5 cmake安装
  • 3.6 protobuf安装
  • 4 编译hadoop源码


千辛万苦踩了居多坑之后把hadoop安装好了,进行文件put ls 等一系列操作的时候竟然给我警告,就很烦。

如下图

hadoop源码导入idea并运行 hadoop源码编译_centos

接下来较为详细的说明一下编译hadoop源码的基本流程

1.首先新建一个干净的虚拟机

  • 本次以centos7为基础

2.查看编译所需配件

(简称电脑配件 滑稽保命

hadoop源码导入idea并运行 hadoop源码编译_centos_02


从官网下载hadoop源码包,传入虚拟机进行解压。

  • 打开之后进入路径查看building.txt文件

    很容易看到

JDK1.8
maven3.3以上
protocolbuffer必须是2.5.0
cmake3.1以上

3.进入(配件)安装步骤

首先yum一些可以默认安装的东西

yum -y update
yum install -y glibc-headers gcc-c++ make automake autoconf libtool curl unzip subversion-devel openssl-devel

下面是需要手动安装的

hadoop源码导入idea并运行 hadoop源码编译_hadoop源码导入idea并运行_03

3.1JDK安装

hadoop源码导入idea并运行 hadoop源码编译_cmake_04

查看路径配置profile

#java
export JAVA_HOME=/opt/java/jdk1.8.0_171 
export PATH=$PATH:$JAVA_HOME/bin

阶段性检测 java -version

hadoop源码导入idea并运行 hadoop源码编译_大数据_05

3.2 ant安装

#ant
export ANT_HOME=/opt/ant/apache-ant-1.9.14
export PATH=$PATH:$ANT_HOME/bin

阶段性检测 ant -version

hadoop源码导入idea并运行 hadoop源码编译_hadoop源码导入idea并运行_06

3.3maven 安装

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

阶段性检测 mvn -version

hadoop源码导入idea并运行 hadoop源码编译_hadoop源码导入idea并运行_07

3.4 findbugs

#findbugs
export FIND_HOME=/opt/findbugs/findbugs-3.0.1
export PATH=$PATH:$FIND_HOME/bin

阶段性检测findbugs -version

hadoop源码导入idea并运行 hadoop源码编译_大数据_08

3.5 cmake安装


cd cmake-3.xx.x


  • 路径写自己的


配置profile

#cmake
export PATH=$PATH:/opt/cmake/cmake-3.16.5/bin

阶段性检测cmake -version

3.6 protobuf安装

同样是进入目录下







配置profile

#PROTOBUF_PATH 
export PROTOBUF_PATH=/opt/protobuf/protobuf-2.5.0 
export PATH=$PATH:$PROTOBUF_PATH/bin

阶段性检测protoc -version

hadoop源码导入idea并运行 hadoop源码编译_centos_09

4 编译hadoop源码

需要先添加一些镜像
路径是这里
/opt/maven/apache-maven-3.6.3/conf/settings.xml

把下面代码放到mirrors标签内部(注意不要放到注释内部)

<mirror>
		<id>alimaven</id>
		<name>aliyun maven</name>
		<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
		<mirrorOf>central</mirrorOf>
	</mirror>
	<mirror>
		<id>alimaven</id>
		<mirrorOf>central</mirrorOf>
		<name>aliyun maven</name>
		<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
	</mirror>

下面是hadoop源码路径下的pom.xml文件 删除一些东西

hadoop源码导入idea并运行 hadoop源码编译_hadoop源码导入idea并运行_10

进入目录下

hadoop源码导入idea并运行 hadoop源码编译_hadoop_11


开始编译

mvn clean package -Pdist,native -DskipTests -Dtar

等大概两三个小时(本次是第二次所以说时间短)

hadoop源码导入idea并运行 hadoop源码编译_大数据_12


如上图就是成功啦

hadoop源码导入idea并运行 hadoop源码编译_hadoop_13


这里存着编译好的hadoop

hadoop源码导入idea并运行 hadoop源码编译_hadoop_14


传到自己电脑上做备份以后直接用

完结!