Hadoop 2.10.1源码编译(Apache版---Linux环境)

it2023-09-09  64

1.准备工作

CentOS 7  VMware虚拟机安装参考地址(链接是CentOS6,CentOS7类似)apache-ant-1.9.15-bin.tar.gz ant下载地址apache-maven-3.6.3-bin.tar.gz maven下载地址jdk-8u261-linux-x64.tar.gzhadoop-2.10.1-src.tar.gz hadoop源码下载地址protobuf-2.5.0.tar.gz(必须是2.5.0版本,否则会报错)

5个Jar包已上传至云盘:https://pan.baidu.com/s/1i2GxDdBTLPAc76iBJEivjg(提取码:xa4h)

注意:建议采用 root 角色编译,避免文件夹权限导致的问题

2.Jar包安装

2.1 JDK安装

JDK解压、配置环境变量 JAVA_HOME 和 PATH,验证 java-version (如下都需要验证是否配置成功)

# 1.解压缩 tar -zxvf jdk-8u261-linux-x64.tar.gz -C /usr/local/env # 2.修改名称 mv jdk1.8.0_261 jdk # 3.环境变量配置 vi /etc/profile #JAVA_HOME export JAVA_HOME=/usr/local/env/jdk export PATH=$ PATH:$JAVA_HOME/bin # 4.source配置生效 source /etc/profile # 5.验证jdk安装成功 java -version

2.2 Maven安装

Maven解压、配置 MAVEN_HOME 和 PATH

# 1.解压缩 tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /usr/local/env # 2.修改名称 mv apache-maven-3.6.3 maven # 3.修改settings配置(添加aliyun镜像) vi conf/settings.xml <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> # 4.环境变量配置 vi /etc/profile #MAVEN_HOME export MAVEN_HOME=/usr/local/env/maven export PATH=$PATH:$MAVEN_HOME/bin export MAVEN_OPTS=-Xms256m -Xmx1024m # 解决Maven打包时Java heap space异常(视机器配置决定) # 5.source配置生效 source /etc/profile # 6.验证maven配置是否成功 mvn-version

2.3 ant安装

ant 解压、配置 ANT _HOME 和 PATH

# 1.解压缩 tar -zxvf apache-ant-1.9.15-bin.tar.gz -C /usr/local/env # 2.修改名称 mv apache-ant-1.9.15 ant # 3.环境变量配置 vi /etc/profile #ANT_HOME export ANT_HOME=/usr/local/env/ant export PATH=$PATH:$ANT_HOME/bin # 5.source配置生效 source /etc/profile # 6.验证maven配置是否成功 ant-version

2.4 安装 glibc-headers 和 g++

# 1.glibc-headers yum install glibc-headers # 2.g++ yum install gcc-c++

2.5 安装 make、cmake、libtool、automake、autoconf

# 1.make yum install make # 2.cmake yum install cmake # 3.libtool yum install libtool # 4.automake yum install automake # 5.autoconf yum install autoconf

2.6 protobuf 安装

解压 protobuf ,进入到解压后 protobuf 主目录,/usr/local/env/protobuf-2.5.0,然后相继执行命令

# 1.解压缩 tar -zxvf protobuf-2.5.0.tar.gz -C /usr/local/env # 2.修改名称 mv protobuf-2.5.0 protobuf # 3.进入protobuf目录 cd /usr/local/env/protobuf # 4.相继执行如下5个命令(一个一个来,如果你是自己下载的protobuf,没有configure,需要使用autogen.sh生成,推荐直接下载开头为你提供的包) ./configure make make check make install ldconfig # 5.环境变量配置 vi /etc/profile #LD_LIBRARY_PATH export LD_LIBRARY_PATH=/usr/local/env/protobuf export PATH=$PATH:$LD_LIBRARY_PATH # 6.source配置生效 source /etc/profile # 7.验证maven配置是否成功 protoc --version

2.7 安装 openssl 库

yum install openssl-devel

2.8 安装 ncurses-devel 库

yum install ncurses-devel

到此为止,编译工具安装基本完成。

3.开始编译源码

3.1 解压源码到一个目录

# 此处为/usr/local/env目录 # 1.解压缩 tar -zxvf hadoop-2.10.1-src.tar.gz -C /usr/local/env/

3.2 进入源码主目录

# 2.进入源码主目录 cd /usr/local/env/hadoop-2.10.1-src

3.3 通过maven执行编译命令

mvn package -Pdist,native -DskipTests -Dtar

3.4 等待时间30分钟左右,最终成功后,是全部SUCCESS

图片过长,进行了一下拼接

3.5 编译成功后hadoop.tar.gz包所在地址

  成功的 64 位 hadoop 包在 /usr/local/env/hadoop-2.10.1-src/hadoop-dist/target 目录下。

  编译期间 maven 报错。可能网络阻塞问题导致依赖库下载不完整导致,一次通过比较难。多次执行下面的 maven 命令即可。如果报 ant、protobuf 等错误,那就是插件下载及配置问题了。

mvn package -Pdist,nativeN -DskipTests -Dtar mvn package -Pdist,nativeN -DskipTests -Dtar -X (打印编译详细信息)

  编译后的 hadoop-2.10.1.tar.gz 版本,在这里https://download.csdn.net/download/lzb348110175/12985299,没有积分可以来这里下载哦:https://pan.baidu.com/s/1i2GxDdBTLPAc76iBJEivjg(提取码:xa4h)


博主写作不易,加个关注呗

求关注、求点赞,加个关注不迷路 ヾ(◍°∇°◍)ノ゙

我不能保证所写的内容都正确,但是可以保证不复制、不粘贴。保证每一句话、每一行代码都是亲手敲过的,错误也请指出,望轻喷 Thanks♪(・ω・)ノ

最新回复(0)