大数据
文章平均质量分 64
MasaWong
烂笔头
展开
-
HBase源码分析之Simple权限验证
有了用户的机制,见HBase源码分析之用户,就可以对用户进行权限控制了,HBase提供了AccessController作为自带的认证方式,HBase称之为simple。1. 配置AccessControllerHBase自带了AccessController,所以只要在conf/hbase-site.xml中设置好以下属性,即可生效。property> name>hba原创 2017-09-13 22:01:46 · 1794 阅读 · 1 评论 -
HBase分析之Get、Scan(二)RegionScanner
这篇我们继续看moreRows = scanner.nextRaw(values, scannerContext);,这里的scanner是通过HRegion#getScanner创建出来的一个RegionScannerImpl实例,他的nextRaw方法调用了RegionScannerImpl#nextInternal方法。这个方法主要目的是获取下一条数据放入results,并取得返回值表示是否还原创 2017-10-15 21:19:37 · 1179 阅读 · 0 评论 -
HBase分析之Get、Scan(三)StoreScanner
继续看StoreScanner.next,这篇里将看到如何找到下一行数据。依然是一段巨长的代码,而且里面好多TODO是什么鬼?!上来先这个StoreScanner先把自己锁了,方法的最后在把自己解锁。@Overridepublic boolean next(List<Cell> outResult, ScannerContext scannerContext) throws IOExcepti原创 2017-10-15 21:20:32 · 801 阅读 · 0 评论 -
HBase分析索引
最近在看HBase 1.2.6的源码,准备写一个HBase系列。目前想到的列表是这样的,会逐步将这些文章写出来。写的不好,如果有地方没说清楚的,欢迎提出,我会继续修改。原创 2017-09-26 23:17:53 · 446 阅读 · 0 评论 -
HBase分析之Get、Scan(一)
GetGet操作调用的是RSRpcServices的get方法,调用过程首先找到包含数据的Region,然后从这个Region中获取需要的数据。public GetResponse get(final RpcController controller, final GetRequest request) throws ServiceException { ... try {原创 2017-10-08 21:30:20 · 3964 阅读 · 0 评论 -
HBase分析之Put操作
Put操作是在HRegion#doMiniBatchMutation方法中执行的。private long doMiniBatchMutation(BatchOperationInProgress batchOp) throws IOException 为什么方法名不叫doPut呢?从这个方法里的一段代码就可以看出,这个方法不仅是Put的执行方法,而且是Delete的执行方法,Put、D原创 2017-09-26 23:18:59 · 2102 阅读 · 0 评论 -
HBase源码分析之远程调试
远程调试是JDWP提供的,通过Agent library的形式加载到JVM中,所以与编译无关,只要运行Java程序时加入调试参数即可。我们通过IDE来创建调试配置,以Intellij IDEA为例,选择Edit Configurations,添加Remote,就可以看到IDE提供的调试参数,把它加到Java的运行参数里就可以了。在运行脚本start-hbase.sh时,原创 2017-09-17 15:05:29 · 659 阅读 · 0 评论 -
HBase源码分析之Ranger权限验证
HBase源码分析之权限验证中讲过了自带的simple认证方式,Apache有个项目,也提供了权限验证,就是Ranger。Ranger的安装方式比较复杂,具体看:https://cwiki.apache.org/confluence/display/RANGER/Apache+Ranger+0.5.0+Installation个人感觉Ranger还是一个粗糙的应用,和我预期的Apa原创 2017-09-13 22:08:32 · 2572 阅读 · 0 评论 -
HBase分析之概念
华为的一张图概括得十分精彩。图片太大,切割成几张图片了。原创 2017-09-24 09:40:51 · 399 阅读 · 0 评论 -
HBase分析之Region定位
以前的理论是:客户端向ZooKeeper请求 -ROOT- 表的位置,然后通过 -ROOT- 表找 META 表的位置,再通过 META 表定位到Region Server位置。但这个理论已经过时了, -ROOT- 表已经消失在历史的尘埃中。现在的ZooKeeper直接缓存了 META 表所在的位置信息(本质是一样的,只是这跳过了 -ROOT- 表,这个过程本来就很多余。。),可以直接通过ZooKe原创 2017-11-02 22:10:45 · 2858 阅读 · 0 评论