【Hadoop】Hadoop 编译源码

本文详细介绍了为何需要从源码编译Hadoop,特别是针对Linux系统中Native库的需求。作者指导了在CentOS环境中安装必要的依赖(如Maven、Ant、JDK等),以及如何进行Hadoop源码的编译过程。
摘要由CSDN通过智能技术生成
+ - [3.1解压源码到 /opt/ 目录](#31_opt__150)
	- [3.2 进入到 hadoop 源码主目录 /opt/hadoop-2.7.7-src,通过 maven 执行编译命令](#32_____hadoop__opthadoop277src_maven__156)
	- * [3.3成功的 64 位 hadoop 包在 /opt/hadoop-2.7.7-src/hadoop-dist/target 下](#33_64__hadoop__opthadoop277srchadoopdisttarget__163)

为什么要源码编译

  • Hadoop是使用Java语言开发的,但是有一些需求和操作并不适合使用java,所以就引入了本地库(Native Libraries) 的概念。
  • 说白了,就是Hadoop的某些功能,必须通过JNT来协调Java类文件和Native代码生成的库文件一起才能工作。
  • linux系统要运行Native 代码,首先要将Native 编译成目标CPU 架构的[.so]文件。而不同的处理器架构,需要编译出相应平台的动态库[.so] 文件,才能被正确的执行,所以最好重新编译一次hadoop源码,让[.so]文件与自己处理器相对应。
  • 简单来说就是编译出适合自己机器的Hadoop。

Hadoop 编译源码

1前期工作准备

  • CentOS 联网
  • 配置 CentOS 能连接外网。Linux 虚拟机 ping www.baidu.com 是畅通的。
  • jar 包准备(hadoop 源码、JDK8、maven、ant 、protobuf)
    ① hadoop-2.7.7-src.tar.gz
    ② jdk-8u151-linux-x64.tar.gz
    ③ apache-ant-1.9.9-bin.tar.gz(build 工具,打包用的)
    ④ apache-maven-3.0.5-bin.tar.gz
    ⑤ protobuf-2.5.0.tar.gz(序列化的框架)

2jar 包安装

参考我的另一篇博客:【Linux】Linux上的一些软件安装与环境配置(Centos7配置JDK、Hadoop)

2.1安装 Maven
tar -zxvf apache-maven-3.8.4-bin.tar.gz -C /opt/module/

在这里插入图片描述

  • 配置环境变量
	vim /etc/profile
	
	#添加以下内容
	export MAVEN_HOME=/opt/module/apache-maven-3.8.4
	export PATH=$PATH:$MAVEN\_HOME/bin

	#生效
	source /etc/profile

  • 进入解压后的 Maven 目录,编辑配置文件(更改 Maven 镜像)
    在这里插入图片描述
<mirror>
  <id>nexus-aliyun</id>
  <mirrorOf>central</mirrorOf>
  <name>Nexus aliyun</name>
  <url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

在这里插入图片描述

  • 查看 Maven 是否安装成功
    在这里插入图片描述
2.2安装 ant
tar -zxvf apache-ant-1.9.9-bin.tar.gz -C /opt/module/

  • 配置环境变量
vim /etc/profile

#添加以下内容
#ANT\_HOME
export ANT_HOME=/opt/module/apache-ant-1.9.9
export PATH=$PATH:$ANT\_HOME/bin

#生效
source /etc/profile

  • 查看 ant 是否安装成功
    在这里插入图片描述
2.3安装 glibc-headers 和 g++
yum install glibc-headers

yum install gcc-c++

2.4安装 make 和 cmake
 yum install make

 yum install cmake

2.5安装 protobuf
tar -zxvf protobuf-2.5.0.tar.gz -C /opt/module/

  • 配置环境变量

img
img

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

  • 24
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值