记一次有趣的hadoop源码编译

14 篇文章 0 订阅
5 篇文章 0 订阅

之前看到过很多人讲解源码编译,但自己一直没有尝试过。最近由于工作需要,想在本地搭建一个hadoop阅读环境,学习一下hadoop源码。

准备阶段

(1)首先下载要编译的hadoop源码版本,镜像链接如下:
http://mirror.bit.edu.cn/apache/hadoop/common/
(2)进入到hadoop目录,查看BUILDING.txt,了解编译需要的环境要求:
比如本人编译的hadoop-3.0.2-src:

Requirements:
* Unix System
* JDK 1.8
* Maven 3.3 or later
* ProtocolBuffer 2.5.0
* CMake 3.1 or newer (if compiling native code)
* Zlib devel (if compiling native code)
* openssl devel (if compiling native hadoop-pipes and to get the best HDFS encryption performance)
* Linux FUSE (Filesystem in Userspace) version 2.6 or above (if compiling fuse_dfs)
* Internet connection for first build (to fetch all Maven and Hadoop dependencies)
* python (for releasedocs)
* bats (for shell code testing)
* Node.js / bower / Ember-cli (for YARN UI v2 building)

注:一定要注意你所编译的版本对应的环境要求,版本不一致,会导致后边编译时各种bug。

工具安装

1.下载maven(apache-maven-3.3.3-bin.tar.gz)
http://archive.apache.org/dist/maven/maven-3/3.3.3/binaries/apache-maven-3.3.3-bin.tar.gz
2.安装maven
tar -zxvf apache-maven-3.3.3-bin.tar.gz
3.添加环境变量

vim /etc/profile
export JAVA_HOME=/usr/local/jdk1.8.0_191
export MAVEN_HOME=/usr/local/apache-maven-3.3.3
export PATH=$PATH:$JAVA_HOME/bin:$MAVEN_HOME/bin

4.加载环境变量
source /etc/proflie
mvn -version
5.下载protobuf(3.0.2明确要求protobuf 2.5.0,官网目前找不到这个版本,提供云盘链接)
https://pan.baidu.com/s/1rO3DKLzR43r-1w_z0TwsCA
6.安装protobuf编译依赖,为了编译安装protoc,需要使用YUM下载几个依赖的工具
yum install -y gcc gcc-c++ make
7.解压安装protobuf

tar -zxvf  protobuf-2.5.0.tar.gz 
cd /home/XXX/protobuf-2.5.0  
./configure 
make && make install

8.安装其他编译依赖(建议安装之后,根据BUILDING.txt中要求检查一下版本,比如cmake是否3.1+)

yum install -y cmake openssl-devel ncurses-devel zlib-devel
yum install -y snappy snappy-devel bzip2 bzip2-devel lzo lzo-devel lzop openssl openssl-devel

9.编译hadoop(漫长的等待)

tar -zxvf hadoop-3.0.2-src.tar.gz -C /usr/local/src/
cd /usr/local/src/hadoop-3.0.2-src

mvn package -Pdist,native,docs -DskipTests -Dtar -X     #debug模式编译

最终成功效果:
在这里插入图片描述
10.查看编译好的安装包
cd /usr/local/src/hadoop-2.6.4-src/hadoop-dist/target

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值