基本理念:尽可能的参考官方英文文档

Hadoop:  http://wiki.apache.org/hadoop/FrontPage

HBase:  http://hbase.apache.org/book.html

Zookeeper:  https://cwiki.apache.org/confluence/display/ZOOKEEPER/Index

环境介绍

Ubuntu 14.04LTS, 32位

接下来则按照Hadoop,HBase,Zookeeper顺序来进行源码编译,建立文件夹~/code用于存放源码

Hadoop

首先去Apache Hadoop官网下载源码,作者下载的是2.6.0版本,即hadoop-2.6.0-src.tar.gz

然后解压,并改下文件夹名(为了方便。。。)

$ tar -zxvf hadoop-2.6.-src.tar.gz
$ mv hadoop-2.6. hadoop

在进行编译前,有一些软件包是需要必须安装的,查看Hadoop官方文档,必备软件如下:

1、JDK. 推荐orcale JDK 7,或者系统自带的OpenJDK

2、ProtocolBuffer 2.5.0,这个需要用源码安装,命令有./configur, make && make install. 注意使用protoc --version查看版本

3、Apache Maven版本3或以上,使用apt-get install即可

4、为了创建native libraries,还需要LZO headers,zlib headers, gcc, OpenSSL headers, cmake, protobuf dev tools, and libtool, and the GNU autotools (automake, autoconf, etc).

$ apt-get -y install maven build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev libfuse-dev

在有了上面的准备之后,便可以编译Hadoop源码并导入eclipse了

首先需要安装hadoop-maven-plugins

$ cd hadoop-maven-plugins
$ mvn install

然后回到hadoop解压后的源码目录,生成eclipse需要的工程文件

$ mvn eclipse:eclipse -DskipTests

最后打开eclipse,[File]->[Import]->[General]->[Existing Projects into Workspace],选择hadoop解压后的根目录,导入

导入时注意由于hadoop下面子工程较多,可以选择自己感兴趣的工程进行导入,如hadoop-common,hadoop-hdfs,hadoop-yarn-common

HBase

同样HBase也得先去官方下载源码,作者下载的是0.94.11,即hbase-0.94.11.tar.gz,解压并更改文件夹名

$ tar -zxvf hbase-0.94..tar.gz
$ mv hbase-0.94. hbase

参考HBase官方文档进行操作,进入hbase目录,首先进行Build,然后生成eclipse所需的工程文件

$ mvn clean install -DskipTests
$ mvn eclipse:eclipse

最后打开eclipse,[File]->[Import]->[General]->[Existing Projects into Workspace],选择hbase解压后的根目录,导入

Zookeeper

作者下载的版本为3.4.6,即zookeeper-3.4.6.tar.gz,解压并更改文件夹名

$ tar -zxvf zookeeper-3.4..tar.gz
$ mv zookeeper-3.4. zookeeper

由于zookeeper需要使用ant进行编译,所以进入zookeeper目录后使用如下命令生成eclipse所需的工程文件

$ ant eclipse

打开eclipse,[File]->[Import]->[General]->[Existing Projects into Workspace],选择zookeeper解压后的根目录,导入

至此,便可以使用eclipse来学习Hadoop,HBase,Zookeeper的源码了

需要说明的是作者下载的均不是各个项目的最新版代码,可使用如下命令获取源码

$ git clone git://git.apache.org/hadoop.git
$ git clone git://git.apache.org/hbase.git
$ git clone git://git.apache.org/zookeeper.git

Hadoop,HBase,Zookeeper源码编译并导入eclipse的更多相关文章

  1. Hadoop2.5.2源码编译及导入Eclipse

    前言:由于官网提供的64位hadoop是没有编译的,所以当我们用到64位的hadoop时,需要在自己的64位linux系统上编译hadoop源码.另外,要想在eclipse里查看hadoop源码,修改 ...

  2. Tomcat8源码编译及导入Eclipse中研究

    最近因为需求需要修改Tomcat中的某些功能,无奈只能研究那部分源码然后稍作修改. 目前Tomcat最新版是8.0,下载了源码包,编译并导入Eclipse中研究比较方便. 1. Tomcat8源码编译 ...

  3. Tomcat9源码编译及导入Eclipse(转)

    1.下载tomcat源码.建议下载最新版本tomcat9. svn地址:http://svn.apache.org/repos/asf/tomcat/tc9.0.x/branches/gsoc-jas ...

  4. Zookeeper源码编译为Eclipse工程(转)

    原文地址:http://blog.csdn.net/jiyiqinlovexx/article/details/41179293 为了深入学习ZooKeeper源码,首先就想到将其导入到Eclispe ...

  5. Zookeeper源码编译为Eclipse工程(win7下Ant编译)

    前言 ZooKeeper是雅虎的.用Ant进行软件构建. 千里之行,始于足下.想看源码的第一步,是下载源码并导入某个IDE工具. Ant http://ant.apache.org/ Windows: ...

  6. 琐碎-将hadoop源码作为工程导入eclipse

    之前写过如何用eclipse看hadoop源码,虽然非官方版的,但是可以达到目的,最重要是简单方便快速 官方版(hadoop2.2.0)的也有: 源码目录为: 和之前的源码目录有很大的不同 编译的时候 ...

  7. spring-framework源码编译及导入

    环境说明: 时间:2017-09-26 OS name: "mac os x", version: "10.12.4", arch: "x86_64& ...

  8. zookeeper 源码编译

    环境:mac 1.github上下载 源码 项目地址:https://github.com/apache/zookeeper 2.安装 ant mac:brew update ->  brew ...

  9. 将Spring源码转换为工程 + 导入Eclipse时缺失jar包

    将源码转换为工程: 比如查看Spring事务部分的源码. 打开cmd窗口,切换到Spring-tx文件夹下,执行命令 “gradle cleanidea eclipse” . 缺失jar包: 第一步: ...

随机推荐

  1. 学点PYTHON基础的东东--数据结构,算法,设计模式---观察者模式

    按照小明明的设计模式抄抄看看.. http://dongweiming.github.io/python-observer.html # 这个是观察者基类 class Subject(object): ...

  2. hdu 4649 Professor Tian 反状态压缩+概率DP

    思路:反状态压缩——把数据转换成20位的01来进行运算 因为只有20位,而且&,|,^都不会进位,那么一位一位地看,每一位不是0就是1,这样求出每一位是1的概率,再乘以该位的十进制数,累加,就 ...

  3. 简单Sql语句统计每年每个月的数据,每个月为数据的每列,简单SQL练习

    有一张表,数据如下 请写出结果为以下的SQL语句. 在mysql中创建表 CREATE TABLE `aa` (  `id` int(10) NOT NULL AUTO_INCREMENT COMME ...

  4. 游戏中VIP会员模块的简单实现

    哈哈  今天周末有时间,再整理一篇博文上来,虽然已经不做游戏老长时间了,但还是要把以前做过的东西总结一下,借此可以回顾以前的东西,也可以分享给大家. 今天说一下游戏中VIP会员模块的实现思路.每款游戏 ...

  5. python学习笔记七--数据操作符的优先级

    一.混合表达式哪个部分先计算: 1. 取决于操作符的优先级,不同操作符的优先级是不一样的,例如‘*’的优先级高于‘+’ 2. 上节的表格里越靠后,优先级越高. 3 . 同一表达式的相同操作符是按从左到 ...

  6. S5P4418 uboot 分析

    瘋耔新浪微博:   http://weibo.com/cpjphone 一: 1◑ 从链接脚本文件u-boot.lds('/opt/4418-source/android/u-boot' )中可以找到 ...

  7. Application.CommonAppDataPath的路径

    Application.CommonAppDataPath; win7的路径 C:\ProgramData\CompanyName\ProductName\2.0.5.1 [assembly: Ass ...

  8. 数据结构———KMP

    今天照着课本敲了一下KMP.. 以OJ上的一个题为例敲了一下.. 题目:http://acm.sdut.edu.cn/sdutoj/problem.php?action=showproblem& ...

  9. BZOJ_1019_[SHOI2008]_汉诺塔_(DP)

    描述 http://www.lydsy.com/JudgeOnline/problem.php?id=1019 汉诺塔游戏,但是有移动优先级,在不违反原有规则的情况下,给定优先移动目标.求完成游戏所需 ...

  10. centos nginx 多端口配置过程记录

    1. 编辑 /usr/local/nginx/vhosts/  在此目录下增加一文件,如;ci.ainux.com,或复制一个文件 修改其中的端口和目录,更改log_format 名称 重启nginx ...