本地调试HBase源码

来源:互联网 发布:osx与ios内核编程 pdf 编辑:程序博客网 时间:2024/05/16 09:26

1. 配置Eclipse M2_REPO ,作为一个Classpath Variable   , Preference->Java->build Path->Classpath Variables

2 安装Eclipse SVN Repositories,   在eclipse 安装,ULR是 http://subclipse.tigris.org/update_1.6.x   (1.8也有,但是装了有问题)

3 在SVN中checkout source cdoe , url 是http://svn.apache.org/repos/asf/hbase/tags/0.94.2

4 在SVN中, configure->Convert to Maven Project

 5 到项目根目录Build HBase源码,成功后会在源码项目更目录中找到.classpath和.project文件

命令:mvn clean install -DskipTests

中间如果报错,说什么asm-3.1.jar 打不开,可以到网上自己下一个,替换到asm/asm/3.1下

6 配置hbase-site.xml  , 

<property>
<name>hbase.defaults.for.version</name>
<value>0.94.2</value>
</property>

<property>
<name>hbase.rootdir</name>
<value>/home/xxx/hbase/data</value>
</property>


7 新建一个Run Configuration,  main class 是 org.apache.hadoop.hbase.master.HMaster,  参数填 start

8 把conf文件夹加到Classpath中,  

Classpath Tab->Advanced...->Add folders->...

配置jar包的时候,指定mvn生成的target目录,如果指向apache下载的hbase包,有时候貌似调试的时候代码行数和stack不匹配

9 Run!

URL refer: http://www.cnblogs.com/shitouer/archive/2012/10/24/2736923.html


在ubuntu 下的eclipse,安装了subclipse 1.6,已经选中了subclipse,subversion Client Adapter和Subversion JavaHL Native Library Adpter,但是在新建svn项目,出现unable to load default svn client错误, 把Optional JNA Library也装上然旧不行。经过查看文档http://subclipse.tigris.org/wiki/JavaHL,发现只要运行:

$ sudo apt-get install libsvn-java

并修改eclipse.ini文件,在"-vmargs"之后增加

-Djava.library.path=/usr/share/java/
-Djava.library.path=/usr/lib/jni/

重新启动eclipse。


编译Hadoop的过程类似

http://svn.apache.org/repos/sf/hadoop/common/tags/release-0.23.4