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的安装

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即可

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容