Hadoop,HBase,Zookeeper源码编译并导入eclipse
基本理念:尽可能的参考官方英文文档
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的更多相关文章
- Hadoop2.5.2源码编译及导入Eclipse
前言:由于官网提供的64位hadoop是没有编译的,所以当我们用到64位的hadoop时,需要在自己的64位linux系统上编译hadoop源码.另外,要想在eclipse里查看hadoop源码,修改 ...
- Tomcat8源码编译及导入Eclipse中研究
最近因为需求需要修改Tomcat中的某些功能,无奈只能研究那部分源码然后稍作修改. 目前Tomcat最新版是8.0,下载了源码包,编译并导入Eclipse中研究比较方便. 1. Tomcat8源码编译 ...
- Tomcat9源码编译及导入Eclipse(转)
1.下载tomcat源码.建议下载最新版本tomcat9. svn地址:http://svn.apache.org/repos/asf/tomcat/tc9.0.x/branches/gsoc-jas ...
- Zookeeper源码编译为Eclipse工程(转)
原文地址:http://blog.csdn.net/jiyiqinlovexx/article/details/41179293 为了深入学习ZooKeeper源码,首先就想到将其导入到Eclispe ...
- Zookeeper源码编译为Eclipse工程(win7下Ant编译)
前言 ZooKeeper是雅虎的.用Ant进行软件构建. 千里之行,始于足下.想看源码的第一步,是下载源码并导入某个IDE工具. Ant http://ant.apache.org/ Windows: ...
- 琐碎-将hadoop源码作为工程导入eclipse
之前写过如何用eclipse看hadoop源码,虽然非官方版的,但是可以达到目的,最重要是简单方便快速 官方版(hadoop2.2.0)的也有: 源码目录为: 和之前的源码目录有很大的不同 编译的时候 ...
- spring-framework源码编译及导入
环境说明: 时间:2017-09-26 OS name: "mac os x", version: "10.12.4", arch: "x86_64& ...
- zookeeper 源码编译
环境:mac 1.github上下载 源码 项目地址:https://github.com/apache/zookeeper 2.安装 ant mac:brew update -> brew ...
- 将Spring源码转换为工程 + 导入Eclipse时缺失jar包
将源码转换为工程: 比如查看Spring事务部分的源码. 打开cmd窗口,切换到Spring-tx文件夹下,执行命令 “gradle cleanidea eclipse” . 缺失jar包: 第一步: ...
随机推荐
- 实例讲解Nginx下的rewrite规则
一.正则表达式匹配,其中:* ~ 为区分大小写匹配* ~* 为不区分大小写匹配* !~和!~*分别为区分大小写不匹配及不区分大小写不匹配二.文件及目录匹配,其中:* -f和!-f用来判断是否存在文件* ...
- nginux做反向代理配置文件
做反向代理的配置文件最好单独创建一个文件,然后在主配置文件中使用 include nginx-test.config; 这样的方式来导入. 配置代码如下: ## Basic reverse prox ...
- Qt之界面数据存储与获取(使用setUserData()和userData())
在GUI开发中,往往需要在界面中存储一些有用的数据,这些数据可以来配置文件.注册表.数据库.或者是server. 无论来自哪里,这些数据对于用户来说都是至关重要的,它们在交互过程中大部分都会被用到,例 ...
- Android:Toast简单消息提示框
Toast是简单的消息提示框,一定时间后自动消失,没有焦点. 1.简单文本提示的方法: Toast.makeText(this, "默认的toast", Toast.LENGTH_ ...
- C语言字节对齐
转自:http://blog.csdn.net/21aspnet/article/details/6729724 文章最后本人做了一幅图,一看就明白了,这个问题网上讲的不少,但是都没有把问题说透. 一 ...
- BIRT使用1:简介、概念、元素、报表设计器组成
前一篇博客对birt进行了一个初探,相信通过上篇博客大家对birt有个初步认识,接下来我们随着下面这张思维导图的展示,进入birt的使用学习. 这一篇博客是第一部分,主要介绍一下birt的简介.概念. ...
- S5P4418 uboot 分析
瘋耔新浪微博: http://weibo.com/cpjphone 一: 1◑ 从链接脚本文件u-boot.lds('/opt/4418-source/android/u-boot' )中可以找到 ...
- Java 关于中文乱码处理的经验总结【转载】
为什么说乱码是中国程序员无法避免的话题呢?这个首先要从编码机制上说起,大家都是中文和英文的编码格式不是一样,解码也是不一样的!如果中国的程序员不会遇到乱码,那么只有使用汉语编程.汉语编程是怎么回事我也 ...
- Android 签名(2)签名知识要点
要点 1) 所有的应用程序都必须有数字证书,Android系统不会安装一个没有数字证书的应用程序 2) Android程序包使用的数字证书可以是自签名的,不需要一个权威的数字证书机构签名认证 3) 如 ...
- python中的commands模块,执行出错:'{' 不是内部或外部命令,也不是可运行的程序 或批处理文件。
最近发现了python的commands模块,查看了下源码,使用的popen封装的,形成三个函数getstatus(), getoutput(), getstatusoutput() 源码如下: de ...