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=
set PATH=;%PATH%   //如果前面做过了,这里就不用再做了
set Platform=x64     //非常重要,必须设置,如果是32位的,请设置为x86
set PATH=;%PATH%   //如果前面做过了,这里就不用再做了
set PATH=;%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,  如下图:

Windows环境下搭建HBase源码开发环境_第1张图片


Arguments写start:

Windows环境下搭建HBase源码开发环境_第2张图片

Enviroment按下图填写:

Windows环境下搭建HBase源码开发环境_第3张图片

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

Windows环境下搭建HBase源码开发环境_第4张图片


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


步骤五:在Eclipse中启动HBase shell

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


Windows环境下搭建HBase源码开发环境_第5张图片

Arguments填写:

Windows环境下搭建HBase源码开发环境_第6张图片

环境变量设置和Master相同:


Windows环境下搭建HBase源码开发环境_第7张图片

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

Windows环境下搭建HBase源码开发环境_第8张图片


你可能感兴趣的:(HBase,Java)