1、本次Hadoop源码阅读环境使用的阅读工具是idea,Hadoop版本是2.7.3。需要安装的工具包括idea、jdk、maven、protobuf等

2、jdk,使用的版本是1.8版,在jdk官网下载jdk-8u111-macosx-x64.dmg,点击安装,一路next。

3、idea安装,略

4、maven,使用的版本是3.3.9,下载apache-maven-3.3.9-bin.tar,解压:

tar -zxvf  apache-maven-3.3.9-bin.tar

进入 Maven 安装根目录 cd apache-maven-3.3.9

进入 Maven配置文件目录 cd conf

编辑settings.xml文件 vi  settings.xml

设置Maven本地库的路径:这个路径要创建好。

 <localRepository>/opt/PRG/apache-maven-3.3.9/repository</localRepository>

同时在加入阿里云的Maven库,参考:maven使用阿里云仓库

<mirror>
<id>nexus-aliyun</id>
<mirrorOf>*</mirrorOf>
<name>Nexus aliyun</name>
<url>http://maven.aliyun.com/nexus/content/groups/public</url>
</mirror>

设置Maven环境变量:

vi ~/.bash_profile

export MAVEN_HOME=/opt/PRG/apache-maven-3.3.9
export PATH=${PATH}:${MAVEN_HOME}/bin:
export MAVEN_OPTS="-Xmx2g -XX:MaxPermSize=512M -XX:ReservedCodeCacheSize=512m"
export PATH

更新环境变量 source ~/.bash_profile

mvn -version 能看到相应的版本,则Maven安装成功。

5、安装protobuf,下载protobuf-2.5.0.tar.gz,下载地址: http://pan.baidu.com/s/1pJlZubT (网友提供)

解压:tar -zxvf protobuf-2.5.0.tar.gz

cd protobuf-2.5.0

依次执行,参考:http://blog.sina.com.cn/s/blog_7d1531ed0101fmc5.html

 1 ./configure
2 make
3 make check
4 make install

如果报没有权限的错误,su root 切换到root执行。

最后输入  protoc --version命令,如显示libprotoc 2.5.0则安装成功

6、编译Hadoop源码

在Hadoop官网下载hadoop-2.7.3-src.tar.gz源码

解压:tar -zxvf  hadoop-2.7.3-src.tar.gz

cd hadoop-2.7.3-src

执行:

mvn package -Pdist -DskipTests -Dtar

最后是漫长的编译过程。。。

下载依赖jar和相关文件。。。

最后输出:[INFO] Reactor Summary:

[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO]
[INFO] Apache Hadoop Main ................................. SUCCESS [ 5.429 s]
[INFO] Apache Hadoop Build Tools .......................... SUCCESS [ 2.148 s]
[INFO] Apache Hadoop Project POM .......................... SUCCESS [ 1.061 s]
[INFO] Apache Hadoop Annotations .......................... SUCCESS [ 3.297 s]
[INFO] Apache Hadoop Assemblies ........................... SUCCESS [ 0.200 s]
[INFO] Apache Hadoop Project Dist POM ..................... SUCCESS [ 1.627 s]
[INFO] Apache Hadoop Maven Plugins ........................ SUCCESS [ 3.751 s]
[INFO] Apache Hadoop MiniKDC .............................. SUCCESS [ 4.644 s]
[INFO] Apache Hadoop Auth ................................. SUCCESS [ 6.750 s]
[INFO] Apache Hadoop Auth Examples ........................ SUCCESS [ 3.126 s]
[INFO] Apache Hadoop Common ............................... SUCCESS [01:10 min]
[INFO] Apache Hadoop NFS .................................. SUCCESS [ 5.191 s]
[INFO] Apache Hadoop KMS .................................. SUCCESS [01:12 min]
[INFO] Apache Hadoop Common Project ....................... SUCCESS [ 0.037 s]
[INFO] Apache Hadoop HDFS ................................. SUCCESS [01:38 min]
[INFO] Apache Hadoop HttpFS ............................... SUCCESS [ 34.932 s]
[INFO] Apache Hadoop HDFS BookKeeper Journal .............. SUCCESS [ 13.482 s]
[INFO] Apache Hadoop HDFS-NFS ............................. SUCCESS [ 3.823 s]
[INFO] Apache Hadoop HDFS Project ......................... SUCCESS [ 0.039 s]
[INFO] hadoop-yarn ........................................ SUCCESS [ 0.041 s]
[INFO] hadoop-yarn-api .................................... SUCCESS [ 28.981 s]
[INFO] hadoop-yarn-common ................................. SUCCESS [ 22.892 s]
[INFO] hadoop-yarn-server ................................. SUCCESS [ 0.028 s]
[INFO] hadoop-yarn-server-common .......................... SUCCESS [ 7.887 s]
[INFO] hadoop-yarn-server-nodemanager ..................... SUCCESS [ 9.785 s]
[INFO] hadoop-yarn-server-web-proxy ....................... SUCCESS [ 2.782 s]
[INFO] hadoop-yarn-server-applicationhistoryservice ....... SUCCESS [ 5.300 s]
[INFO] hadoop-yarn-server-resourcemanager ................. SUCCESS [ 14.558 s]
[INFO] hadoop-yarn-server-tests ........................... SUCCESS [ 4.048 s]
[INFO] hadoop-yarn-client ................................. SUCCESS [ 4.785 s]
[INFO] hadoop-yarn-server-sharedcachemanager .............. SUCCESS [ 3.260 s]
[INFO] hadoop-yarn-applications ........................... SUCCESS [ 0.024 s]
[INFO] hadoop-yarn-applications-distributedshell .......... SUCCESS [ 2.129 s]
[INFO] hadoop-yarn-applications-unmanaged-am-launcher ..... SUCCESS [ 1.734 s]
[INFO] hadoop-yarn-site ................................... SUCCESS [ 0.026 s]
[INFO] hadoop-yarn-registry ............................... SUCCESS [ 4.279 s]
[INFO] hadoop-yarn-project ................................ SUCCESS [ 3.812 s]
[INFO] hadoop-mapreduce-client ............................ SUCCESS [ 0.124 s]
[INFO] hadoop-mapreduce-client-core ....................... SUCCESS [ 14.922 s]
[INFO] hadoop-mapreduce-client-common ..................... SUCCESS [ 11.181 s]
[INFO] hadoop-mapreduce-client-shuffle .................... SUCCESS [ 2.904 s]
[INFO] hadoop-mapreduce-client-app ........................ SUCCESS [ 7.072 s]
[INFO] hadoop-mapreduce-client-hs ......................... SUCCESS [ 4.399 s]
[INFO] hadoop-mapreduce-client-jobclient .................. SUCCESS [ 4.986 s]
[INFO] hadoop-mapreduce-client-hs-plugins ................. SUCCESS [ 1.767 s]
[INFO] Apache Hadoop MapReduce Examples ................... SUCCESS [ 4.552 s]
[INFO] hadoop-mapreduce ................................... SUCCESS [ 2.718 s]
[INFO] Apache Hadoop MapReduce Streaming .................. SUCCESS [ 5.164 s]
[INFO] Apache Hadoop Distributed Copy ..................... SUCCESS [ 8.356 s]
[INFO] Apache Hadoop Archives ............................. SUCCESS [ 2.022 s]
[INFO] Apache Hadoop Rumen ................................ SUCCESS [ 4.104 s]
[INFO] Apache Hadoop Gridmix .............................. SUCCESS [ 3.251 s]
[INFO] Apache Hadoop Data Join ............................ SUCCESS [ 1.897 s]
[INFO] Apache Hadoop Ant Tasks ............................ SUCCESS [ 1.855 s]
[INFO] Apache Hadoop Extras ............................... SUCCESS [ 2.406 s]
[INFO] Apache Hadoop Pipes ................................ SUCCESS [ 0.023 s]
[INFO] Apache Hadoop OpenStack support .................... SUCCESS [ 3.771 s]
[INFO] Apache Hadoop Amazon Web Services support .......... SUCCESS [ 17.460 s]
[INFO] Apache Hadoop Azure support ........................ SUCCESS [ 4.841 s]
[INFO] Apache Hadoop Client ............................... SUCCESS [ 6.743 s]
[INFO] Apache Hadoop Mini-Cluster ......................... SUCCESS [ 1.029 s]
[INFO] Apache Hadoop Scheduler Load Simulator ............. SUCCESS [ 4.379 s]
[INFO] Apache Hadoop Tools Dist ........................... SUCCESS [ 6.696 s]
[INFO] Apache Hadoop Tools ................................ SUCCESS [ 0.022 s]
[INFO] Apache Hadoop Distribution ......................... SUCCESS [ 29.114 s]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 10:08 min
[INFO] Finished at: 2017-01-02T11:41:11+08:00
[INFO] Final Memory: 229M/959M
[INFO] ------------------------------------------------------------------------

没有报错,则说明编译成功。

7、把编译好的Hadoop源码导入Idea

源码路径

找到编译好的Hadoop,选择即可,next。

选择Maven工程

之后一路next即可,之后就可以开始阅读源码了。

Mac搭建Hadoop源码阅读环境的更多相关文章

  1. 【深入浅出 Yarn 架构与实现】1-2 搭建 Hadoop 源码阅读环境

    本文将介绍如何使用 idea 搭建 Hadoop 源码阅读环境.(默认已安装好 Java.Maven 环境) 一.搭建源码阅读环境 一)idea 导入 hadoop 工程 从 github 上拉取代码 ...

  2. 利用IDEA搭建JDK源码阅读环境

    利用IDEA搭建JDK源码阅读环境 首先新建一个java基础项目 基础目录 source 源码 test 测试源码和入口 准备JDK源码 下图框起来的路径就是jdk的储存位置 打开jdk目录,找到sr ...

  3. Hadoop源码阅读环境搭建(IDEA)

    拿到一份Hadoop源码之后,经常关注的两件事情就是 1.怎么阅读?涉及IDEA和Eclipse工程搭建.IDEA搭建,选择源码,逐步导入即可:Eclipse可以选择后台生成工程,也可以选择IDE导入 ...

  4. win7+idea+maven搭建spark源码阅读环境

    1.参考. 利用IDEA工具编译Spark源码(1.60~2.20) https://blog.csdn.net/He11o_Liu/article/details/78739699 Maven编译打 ...

  5. 搭建 Spring 源码阅读环境

    前言 有一个Spring源码阅读环境是学习Spring的基础.笔者借鉴了网上很多搭建环境的方法,也尝试了很多,接下来总结两种个人认为比较简便实用的方法.读者可根据自己的需要自行选择. 方法一:搭建基础 ...

  6. IntelliJ IDEA 配置 Hadoop 源码阅读环境

    1.下载安装IDEA https://www.jetbrains.com/idea/download/#section=windows 2.下载hadoop源码 https://archive.apa ...

  7. Spring源码分析_01_ idea搭建spring源码阅读环境

    二.参考资料 1.Intellij Idea如何导入spring源码

  8. Eclipse Hadoop源码阅读环境

    一.解压hadoop src包到workspace目录.为加快下载jar包的速度,在eclipse的maven设置里将配置文件的路径设置正确,然后配置maven的settings.xml: <m ...

  9. Sping学习笔记(一)----Spring源码阅读环境的搭建

    idea搭建spring源码阅读环境 安装gradle Github下载Spring源码 新建学习spring源码的项目 idea搭建spring源码阅读环境 安装gradle 在官网中下载gradl ...

随机推荐

  1. 超棒的自定义超酷滚动条jQuery插件 - Perfect Scrollbar

    可能大家厌倦了千篇一律的页面滚动条,如果你希望能够设计出与众不同的页面UI设计的话,Perfect ScrollBar可能就是你寻找的解决方案. 这个滚动条来自于一个个人项目,一个简单但是非常棒的滚动 ...

  2. HDU 5652 India and China Origins 二分优化+BFS剪枝

    题目大意:给你一个地图0代表可以通过1代表不可以通过.只要能从第一行走到最后一行,那么中国与印度是可以联通的.现在给你q个点,每年风沙会按顺序侵蚀这个点,使改点不可通过.问几年后中国与印度不连通.若一 ...

  3. 【转】对于JNI方法名,数据类型和方法签名的一些认识

    [转]对于JNI方法名,数据类型和方法签名的一些认识   之前一直用jni,但是没有考虑Java重载函数,如何在jni-C++里命名,今天看到一篇文章,讲到了类型签名. 原文链接:http://www ...

  4. Lucene全文搜索 分组,精确查找,模糊查找

    http://zm603380946.iteye.com/blog/1827318 完全个人理解,如有更好的方法,欢迎一起讨论 LuceneUtils.java package com.zbiti.l ...

  5. FZU Problem 1895 整除45问题(整除问题+字符串维护+优化)

    这个题有点烧脑啊,但是只要想清楚被45整除的数,肯定能被5和9整除,能被9整除的数各位加起来肯定是9的倍数,能被5整除的末尾是0或5. 然后dfs的过程稍微不太好懂,还有几个优化必须要注意.dfs的过 ...

  6. hashmap源码

    Java里各种基础容器的实现都是链表外加引用的形式.So,hashmap也不例外. 那小考虑下:hashmap是怎么产生的呢? 常用的两种数据结构数组和链表各有优劣,数组寻址容易,插入和删除困难:而链 ...

  7. Reverse complement DNA

    用法:python rev_comp.py input.fa out.fa 输入文件为 fasta 格式文件,若输入文件中序列的 header 有 '+' 或 '-' 号标记正负链,则带有 '+' 的 ...

  8. realypay

    1.判断新老接口的方法: 去网站后台接口配置的地方,如果有merchantno参数就是新接口,否则为老接口,新接口则不需要更新了. 2.老接口需要去网站后台卸载老的接口,然后再用新的(下载的文件)覆盖 ...

  9. alt+shift+j,添加日期、作者等

    在preference->Java->codestyle->codetemplates->commnets->type 可以编辑如: /** * @author ${us ...

  10. C#入门经典(第三章-1)

    #region--------#endregion 此关键字 将设置代码是否可以折叠和展开.但是他们不是C#关键字.注意:带#的是预处理指令,严格说不是C#关键字. 变量: