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

相关推荐
快乐非自愿1 天前
OpenClaw 生态适配:Hadoop/Hive 技能现状与企业级集成方案
大数据·hive·hadoop·分布式·openclaw
盛源_012 天前
hive表视图
数据仓库·hive·hadoop
success1122 天前
hadoop集群准备工作
大数据·hadoop·chrome
Francek Chen2 天前
【大数据存储与管理】分布式数据库HBase:04 HBase的实现原理
大数据·数据库·hadoop·分布式·hbase
yumgpkpm2 天前
OpenClaw(养龙虾) +关于Hadoop hive的Skills(CLoudera CDH、CDP)
大数据·数据仓库·hive·hadoop·分布式·zookeeper·kafka
网络工程小王3 天前
【大数据技术详解】——HBase技术(学习笔记)
大数据·hadoop·hdfs·big data
网络工程小王3 天前
【大数据技术详解】——Hive 离线数仓分层(学习笔记)
数据仓库·hive·hadoop
王九思3 天前
Hive中的tzdata影响与使用
数据仓库·hive·hadoop
ClouderaHadoop4 天前
Oozie任务失败告警机制
hadoop·cdh·oozie
yatum_20145 天前
Hadoop 2.7.3 集群部署、配置与环境变量调优全流程总结
hadoop