HBase IDEA 源码搭建

前言

一边看书一边看 HBase 的代码,让自己的理解能更深刻一些

下载源码

在 github hbase 页面 fork 一份到自己的 repositories 中, 方便注释修改, 最新的 hbase 代码中 pom.xml 版本为: 3.0.0-SNAPSHOT

导入 hbase 源码到 idea

jdk version: jdk1.8.0_231
maven: 3.6.3

  • 用 idea 打开 HBase 源码目录下的 pom.xml 文件:


    image.png
  • 选择 open as project


    image.png
  • maven package


    image.png

如果没报错基本就没问题了

运行 HMaster
  • 修改 hbase-common 模块 resource 下的 hbase-default.xml 配置文件
    加入以下 property:
  
    hbase.rootdir
    hdfs://localhost:9000/hbase
  
  
    hbase.cluster.distributed
    true
  
  
    hbase.zookeeper.quorum
    simos-iMac-Pro.local
  
  
    hbase.zookeeper.property.clientPort
    2181
  
  
    hbase.defaults.for.version.skip
    true
  

hbase.rootdir: 因为我本机上由单节点的 hdfs 运行,所以配置的是我本机的 hdfs 路径
hbase.zookeeper.quorum: 配的是我本机山运行的 zk
hbase.defaults.for.version.skip: 这个必须要配置,不然会出现 hbase-default.xml file seems to be for and old version of HBase 异常


image.png
  • 配置 HMaster 运行


    image.png
Main class: org.apache.hadoop.hbase.master.HMaster

VM Options: -Dlog4j.configuration=file:/Users/simo/work/project/github/hbase/conf/log4j.properties

Program arguments: start

Use classpath of module: hbase-server (HMaster class 所在的 module)

现在 HMaster 应该可以启动了


image.png

没有出现异常,打开 chrome 输入: http://localhost:16010 验证 hbase hmaster 是否启动成功

image.png

这是我启动后的页面

配置 RegionServer 运行
  • HMaster 启动后虽然没有 error 日志,但是一直出现: WARN [master/localhost:16000] assignment.AssignmentManager: No servers available; cannot place 1 unassigned regions.


    image.png
  • 配置 HRegionServer 运行


    image.png

除了 Name、Main class 和 HMaster 的配置不一样,其他配置都一致

  • 运行 HRegionServer,查看 hbase master 界面: http://localhost:16010/master-status
    image.png

Region Server 已经上线

你可能感兴趣的:(HBase IDEA 源码搭建)