Hadoop2 【源码编译】

1、安装需要的包

(1)hadoop-2.7.7-src.tar.gz

(2)jdk-8u144-linux-x64.tar.gz

(3)apache-ant-1.9.9-bin.tar.gz(build工具,打包用的)

(4)apache-maven-3.6.3-bin.tar.gz

(5)protobuf-2.5.0.tar.gz(序列化的框架)

2、安装jdk

  • 解压安装

tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/

重命名为jdk1.8

  • 配置环境变量

vim /etc/profile

在文件尾部加上

#JAVA_HOME

export JAVA_HOME=/opt/module/jdk1.8

export PATH=𝑃𝐴𝑇𝐻:JAVA_HOME/bin

  • 验证安装

source /etc/profile

java -version

3、安装Maven

  • 解压安装

tar -zxvf apache-maven-3.6.3-bin.tar.gz -C /opt/module/

重命名文件夹

mv apache-maven-3.6.3/ maven3.6

  • 修改配置文件

配置阿里云仓库

vim conf/settings.xml

增加如下配置

<mirror>

<id>nexus-aliyun</id>

<mirrorOf>central</mirrorOf>

<name>Nexus aliyun</name>

<url>http://maven.aliyun.com/nexus/content/groups/public\</url>

</mirror>

  • 配置环境变量

vim /etc/profile

在文件尾部加上

#MAVEN_HOME

export MAVEN_HOME=/opt/module/maven3.6

export PATH=PATH:MAVEN_HOME/bin

  • 验证安装

source /etc/profile

mvn -version

4、安装ant

  • 解压安装

tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module/

重命名

mv apache-ant-1.9.9/ ant1.9

  • 配置环境变量

vim /etc/profile

在文件尾部加上

#ANT_HOME

export ANT_HOME=/opt/module/ant1.9

export PATH=PATH:ANT_HOME/bin

  • 验证安装

source /etc/profile

ant -version

5、安装 glibc-headers和g++

注意CentOS 7于2024年6月30日停止维护,原有镜像地址失效

如何解决:

创建备份目录

mkdir -p /etc/yum.repos.d/bak

移动所有 .repo 文件到备份目录

mv /etc/yum.repos.d/*.repo /etc/yum.repos.d/bak/

下载阿里云 CentOS 7 归档源配置

wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

编辑配置文件,将所有 $releasever 替换为 7(避免变量解析问题)

sed -i 's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo

启用 epel 源(可选,但能补充更多依赖)

wget -O /etc/yum.repos.d/epel.repo https://mirrors.aliyun.com/repo/epel-7.repo

清理旧缓存

yum clean all

重建缓存(这一步会下载镜像源的包列表,耐心等待)

yum makecache

安装glibc-headers和gcc-c++

yum install -y glibc-headers

yum install -y gcc-c++

验证

gcc -v

c++ -v

6、安装make和cmake

yum install -y make

yum install -y cmake

7、编译protobuf

  • 解压文件

tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/

mv protobuf-2.5.0/ protobuf2.5

  • 编译文件

./configure

make

make check

make install

ldconfig

  • 配置环境变量

vim /etc/profile

在文件尾部加上

#LD_LIBRARY_PATH

export LD_LIBRARY_PATH=/opt/module/protobuf2.5

export PATH=PATH:LD_LIBRARY_PATH

  • 验证安装

source /etc/profile

protoc --version

8、安装openssl库

yum install -y openssl-devel

9、安装 ncurses-devel库

yum install -y ncurses-devel

10、编译Hadoop源码

(1)解压源码到/opt/目录

tar -zxvf hadoop-2.7.7-src.tar.gz -C /opt/

(2)通过maven执行编译命令

cd /opt/hadoop-2.7.7-src/

mvn package -Pdist,native -DskipTests -Dtar

过程比较漫长,最终成功是全部SUCCESS,如果编译期间maven报错,可能网络阻塞问题导致依赖库下载不完整导致,多次执行命令

(3)编译后文件位置

/opt/hadoop-2.7.7-src/hadoop-dist/target

相关推荐
B站计算机毕业设计超人9 小时前
计算机毕业设计Django+Vue.js高考推荐系统 高考可视化 大数据毕业设计(源码+LW文档+PPT+详细讲解)
大数据·vue.js·hadoop·django·毕业设计·课程设计·推荐算法
B站计算机毕业设计超人9 小时前
计算机毕业设计Django+Vue.js音乐推荐系统 音乐可视化 大数据毕业设计 (源码+文档+PPT+讲解)
大数据·vue.js·hadoop·python·spark·django·课程设计
十月南城10 小时前
数据湖技术对比——Iceberg、Hudi、Delta的表格格式与维护策略
大数据·数据库·数据仓库·hive·hadoop·spark
王九思11 小时前
Hive Thrift Server 介绍
数据仓库·hive·hadoop
Asher050915 小时前
Hive核心知识:从基础到实战全解析
数据仓库·hive·hadoop
yumgpkpm16 小时前
AI视频生成:Wan 2.2(阿里通义万相)在华为昇腾下的部署?
人工智能·hadoop·elasticsearch·zookeeper·flink·kafka·cloudera
Asher050918 小时前
Hadoop核心技术与实战指南
大数据·hadoop·分布式
江畔何人初2 天前
hadoop中HDFS框架、YARN框架各组件职责与对比
大数据·hadoop·hdfs
Francek Chen3 天前
【大数据存储与管理】分布式文件系统HDFS:05 HDFS存储原理
大数据·hadoop·分布式·hdfs
一号IT男3 天前
Hive中GROUPING SETS功能详解
数据仓库·hive·hadoop