以后很长一段时间会负责关于hbase的工作,所以开始看hbase源码了,本来想通过jar2uml这类工具来弄出hbase的uml图,但是效果不是很好。后来仔细想想hbase这么大的工程,还有关于maven的引用,如果强行将所有类都画到一张uml图的话,也实在是不太现实。所以觉得还是只能通过用例,来一点点看hbase源码内部究竟是如何运作的吧。
简单的列举了一下能够想到的hbase用例,打算尽量一个星期能够简单的把跟一个用例有关的源代码过一遍:
master/regionserver 启停过程
RPC 过程
create/disable/enable/drop 过程
put/delete/get/scan 过程
WAL 写过程
region 恢复过程(WAL读过程)
memstore 写入过程
compact 过程
split 过程
region 分配过程
replication 过程
snapshot 过程
市面上已经有很多关于hbase 1.0之前版本的书籍了,但是除了官方文档真的没有发现什么跟1.0版本以及之后版本相关的书,所以打算针对hbase-1.0.0的版本,看一下上面一些用例的代码。由于现在对hbase的了解主要也是集中在0.9*的版本,所以上述列举的用例难免有疏漏或者冗余之处,以后应该会有更新。
2017.03.31
虽然明天是愚人节,但是看hbase源码可不是开玩笑