HBase源码阅读环境搭建
- 克隆源码
git clone [email protected]:apache/hbase.git
- 选择分支
git checkout branch-2.2(自己选一个分支)
- 修改脚本
如果你的操作系统是Windows,请修改脚本
hbase\hbase-common\src\saveVersion.sh
这里的${hostname}
${user}
都改成你的用户名,或者写死,随便都可以。 原因是因为在 cygwin 环境下执行此脚本的时候会多获取一个回车, 会导自动生成的Version.java类无法编译。
// 要修改的地方
Line 45 url="git://${hostname}{cwd}"
Line 76 public static final String user = "${user}";
// 自动生成的 Version 类
/*
* Generated by src/saveVersion.sh
*/
package org.apache.hadoop.hbase;
import org.apache.yetus.audience.InterfaceAudience;
@InterfaceAudience.Private
public class Version {
public static final String version = "2.2.1-SNAPSHOT";
public static final String revision = "ac0375685291b72f45a800ebb1cca02901042bb7";
public static final String user = "francis";
public static final String date = "Sun Jul 28 17:23:04 2019";
public static final String url = "git://francis/cygdrive/d/Java/hbase";
public static final String srcChecksum = "88f3dc17f75ffda6176faa649593b54e";
}
- 修改pom
如果你的操作系统是Windows,请修改pom文件
hbase\hbase-common\pom.xml
// 把这里的 bash 改成 sh,否则你的 windows 无法执行以上脚本
Line 95 <exec executable="sh" failonerror="true">
- 编译源码
mvn clean install -DskipTests assembly:single
- 调试配置
- 配置并启动 HMaster
配置 HMaster 启动参数:如果不配置 log4j, HMaster无法启动
HMaster 启动成功
进入HBase Web UI 查看 http://localhost:16010,启动HMaster之后会默认给你启动一个Hregionserver.
- 配置并启动 HHbase Shell
配置 HBase Shell 启动参数
HBase Shell 启动成功