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

相关推荐
武子康18 小时前
大数据-263 实时数仓-Canal 增量订阅与消费原理:MySQL Binlog 数据同步实践
大数据·hadoop·后端
仗剑_走天涯1 天前
zookeeper 安装与配置
hadoop·zookeeper
zhixingheyi_tian1 天前
hdfs.c 之解析
c语言·hadoop·hdfs
武子康2 天前
大数据-262 实时数仓 - Canal 同步数据实战指南 实时统计
大数据·hadoop·后端
武子康3 天前
大数据-261 实时数仓-建设指南:从架构设计到业务落地 交易订单、订单产品、产品分类、商家店铺、地域组织表
大数据·hadoop·后端
J2虾虾4 天前
Hadoop入门
大数据·hadoop·分布式
橘子编程5 天前
Hive大数据实战指南:从入门到精通
大数据·hive·hadoop
仗剑_走天涯5 天前
hadoop 执行mr任务出现找不到主类或无法加载主类解决方案
hadoop·mr
橘子编程5 天前
Apache Hadoop知识全解析
大数据·hive·hadoop·apache
顧棟6 天前
HDFS2.X升级3.X案例与相关Issue
大数据·hadoop·hdfs