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

相关推荐
liuxiaowei315 小时前
Winform+WPF双框架实战:喷涂工艺SCADA上位机从0到1搭建(附采集监控源码+车间踩坑实录)
大数据·hadoop·wpf
hkNaruto4 天前
【大数据】《传统Hadoop大数据技术入门:补充与进阶——从数据格式到智能决策的问答实录》
大数据·hadoop·分布式
牛奶咖啡134 天前
大数据Hadoop运维应用实践——双NameNode高可用Hadoop集群架构(下)
大数据·hadoop·hadoop集群配置文件解析·hadoop高可用集群安装部署·配置指定多台服务器相互免密·配置hadoop服务开机自启·ansible部署hadoop
李昊哲小课5 天前
spark4 集群安装
大数据·hadoop·zookeeper·spark
buligbulig5 天前
Hadoop环境安装和集群创建
大数据·hadoop·分布式
香山上的麻雀10086 天前
Hive内部表(MANAGED_TABLE)的“批量删除分区”特性详解
数据仓库·hive·hadoop
牛奶咖啡138 天前
大数据Hadoop运维应用实践——双NameNode高可用Hadoop集群架构(上)
hadoop·高可用hadoop集群搭建·给服务器做免密信任·修改服务器主机名称·服务器本地配置主机名与ip映射·服务器配置jdk环境·服务器安装zooker
jjjava2.09 天前
SpringMVC入门指南:从零掌握核心要点
数据仓库·hive·hadoop
ljs64827395110 天前
Hadoop集群部署常见问题
大数据·hadoop·分布式
TTBIGDATA10 天前
【Ambari Plus】14.Hue 安装
大数据·hadoop·ambari·hdp·hue·cdh·bigtop