Windows环境下搭建HBase源码开发环境

本文基于博主自己的经验介绍了如何在Windows环境下搭建Hbase源码开发环境,用于查看,分析,开发,提交HBase源码。 HBase在Windows下编译时需要用到Hadoop提供的winutils.exe, 而winutils.exe需要从Hadoop源码编译得到,因此将也同时介绍如何在Windows上编译Hadoop源码。

前提条件

首先,我们的系统的上需要安装如下软件:

1. JDK 1.6以上

HBase 需要1.6以上版本的JDK, 我装的是JDk1.7, 下载地址:http://www.Oracle.com/technetwork/Java/index.html

2. Maven 3.x 

强大的build及依赖管理工具, 用于build HBase及hadoop源码,  http://maven.apache.org/

安装后将mvn命令所在目录设置到系统或当前用户path环境变量中。

3. Windows 上的Git工具

建议使用Github for Windows, 下载地址:https://windows.github.com/

4. Windows SDK 7.1

用于编译Hadoop源码中的Windows本地代码,包括编译HBase时需要的winutils.exe

地址: http://microsoft-windows-sdk-for-windows.software.informer.com/7.1/

5. cygwin

Windows上的Linux/Unix工具集, Hadoop/HBase编译时会用到,  http://www.cygwin.com/

安装之后将cygwin的bin目录设置到系统或当前用户的path环境变量的前面,这样编译hadoop和hbase过程中用到的shell命令(例如find)首先会找到cygwin提供的版本,而不是windows系统提供的。

6. ProtocolBuffers

Google序列化框架,Hadoop/HBase都采用了ProtocolBuffers作为序列化框架,需要2.5版本,我下载的是2.6, 下载地址:code.google.com/p/protobuf/ 

安装之后将protoc所在目录设置到系统或当前用户path环境变量中。


步骤一:编译Hadoop

有了上述必须的软件之后,我们首先开始编译Hadoop.

1. 从官网下载Hadoop源码,我下的是2.5.1

2. 设置环境变量, 非常重要,不设置环境变量Hadoop无法编译通过

set JAVA_HOME=<JDK路径>
set PATH=<maven的bin路径>;%PATH%   //如果前面做过了,这里就不用再做了
set Platform=x64     //非常重要,必须设置,如果是32位的,请设置为x86
set PATH=<cygwin bin目录>;%PATH%   //如果前面做过了,这里就不用再做了
set PATH=<protoc.exe所在目录>;%PATH%   //如果前面做过了,这里就不用再做了
3. 编译hadoop
mvn package -Pdist -DskipTests

编译成功后,在Hadoop 源码目录下可以找到winutils.exe, 把它复制到hadoop源码的bin目录下,比如我的hadoop源码位于D:\hadoop\hadoop-2.5.1-src,  则把winutils.exe复制到D:\hadoop\hadoop-2.5.1-src\bin下, 然后设置环境变量HADOOP_HOME=D:\hadoop\hadoop-2.5.1-src。然后我们就可以进入我们的主题,编译HBase了。


步骤二:编译HBase

首先下载HBase代码,如果你打算向HBase项目提交你的代码,首先fork HBase代码至你自己的仓库, Git clone你自己的仓库,如果不打算提交代码,可以直接

git clone https://github.com/apache/hbase.git

然后进入HBase源码目录,运行:

mvn package  -DskipTests


步骤三:将HBase源码导入Eclipse

首先运行如下命令产生eclipse项目文件:

mvn eclipse:eclipse

然后用Eclipse导入现有工程。


步骤四: 在Eclipse中运行,调试HBase

HBase服务器的入口点位于HMaster.main()方法,我们可以直接在Eclipse环境中运行HMaster.

首先在hbase-site.xml中设置版本属性,我下载的是Master branch 2.0.0-SNAPSHOT:


从Eclipse中点击Run -> Run configuraiton..., 然后点击新建, Main class中填写 org.apache.hadoop.hbase.master.HMaster,  如下图:



Arguments写start:


Enviroment按下图填写:


点击运行,  从console中可以看到HBase开始运行



如果你看到"Master has completed initialization", 那么恭喜你,你的环境已经搭建成功了, 我们下面再做最后一步,再从Eclipse中启动Shell, 对Hbase做一写简单的测试


步骤五:在Eclipse中启动HBase shell

从Eclipse点击Run -> Run configurations...,   然后点新建,Main class 填写 org.jruby.Main



Arguments填写:


环境变量设置和Master相同:



点击Run,  就可以在console中使用hbase shell了。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值