Mac环境下Hadoop2.7.3源码编译

本机环境

系统版本: macOS Sierra 10.12.2
JDK版本: java version "1.8.0_121"
Hadoop源码: Hadoop-2.7.3

一,编译前所需软件

1,Homebrew

Homebrew是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件.

  • 安装:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
  • 常见使用命令
brew更新: brew update
软件安装:  brew install xxx
软件卸载:  brew uninstall xxx
软件查找:  brew search xxx
已安装软件列表:  brew list
打开官网brew:  brew home
显示软件信息:  brew info

更详细的brew介绍详见brew官网

2,CMake的安装

CMake是一个跨平台的安装(编译)工具,可以用简单的语句来描述所有平台的安装(编译过程)。

安装CMake

brew install cmake
3,Maven的安装

Maven主要用于程序构建,并且还提供项目管理的功能

brew install maven
4,protoc的安装
  • protocolbuffer(以下简称PB)是google 的一种数据交换的格式,它独立于语言,独立于平台
    详细介绍参见protoc扫盲
    protoc开发者指南

  • protoc安装
    1)首先下载protoc,为了顺利编译推荐protoc2.5.0
    protoc2.5.0下载地址

2)设置编译目录

./configure

3)编译整个包

make

4)安装protoc

make install

5)配置protoc的环境变量

vim  ~/.bash_profile
添加
export PROTOC_HOME=/Users/zhaolei/protobuf
export PATH=$PROTOC_HOME/bin:$PATH

最详细的protoc安装见protoc源码根目录的INSTALL.txt文件

二,编译

mvn package -Pdist,native -DskipTests -Dtar
  • 初次编译时间可能会比较长一些,因为需要下载一些依赖包
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 01:04 h
[INFO] Finished at: 2017-03-04T12:12:38+08:00
[INFO] Final Memory: 244M/1613M
[INFO] ------------------------------------------------------------------------
  • 再次编译的话时间就会缩短很多,因为依赖包已经下载完毕了
[INFO] -------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] -------------------------------------------------------------------
[INFO] Total time: 10:47 min
[INFO] Finished at: 2017-03-13T22:12:47+08:00
[INFO] Final Memory: 237M/1614M
[INFO] --------------------------------------------------------------------

三,编译后的使用

源码编译后我们使用编译后的jar来运行Hadoop
例如,如果我们修改了hadoop-hdfs-project工程的代码的话
Hadoop-2.7.3-src/hadoop-hdfs-project/hadoop-hdfs/target下找到文件hadoop-hdfs-2.7.3.jar
这就是我们刚生成的jar包,我们将hadoop程序中的hadoop-hdfs-2.7.3.jar替换成该文件(在目录hadoop-2.7.3/share/hadoop/hdfs下)
接下来重新启动hadoop即可

你可能感兴趣的:(Mac环境下Hadoop2.7.3源码编译)