HBASE
holy_ass
这个作者很懒,什么都没留下…
展开
-
HBase Memstore配置
HBase Memstore配置本文为翻译,原英文地址:http://blog.sematext.com/2012/07/16/hbase-memstore-what-you-should-know/ 当regionserver(以下简称RS)收到一个写请求,会将这个请求定位到某个特定的region。每个region存储了一系列的row,每个row对应的数据分散在一个或多个Colum...原创 2013-11-07 15:47:10 · 417 阅读 · 0 评论 -
HBase 0.96配置 snappy(绝对有效哦亲)
通常情况下,snappy压缩算法无非是hbase 最好的伴侣,不过这里不介绍 snappy 算法,也不介绍如何安装 snappy,这里只记录如何给 hbase 0.96X-hadoop2版本开启 snappy 支持。如果你在尝试为 hbase 96+hadoop2开启 snappy 压缩的时候遇到[code="java"]java.lang.RuntimeException: native...原创 2014-02-12 14:10:40 · 192 阅读 · 0 评论 -
HBase Memstore flush代码阅读笔记-2-由单个 memstore大小超过限制触发的 flush
本代码基于0.96.1.1:http://svn.apache.org/repos/asf/hbase/tags/0.96.1.1 默认情况下,当某个 region 的 memstore 大小达到hbase.hregion.memstore.flush.size * hbase.hregion.memstore.block.multiplier时,会出发 memstore 的 flu...原创 2014-01-23 15:15:27 · 231 阅读 · 0 评论 -
HBase Memstore flush代码阅读笔记-1 -由 lowerlimit 和 upperlimit 触发的 flush
在写请求(put,delete)到达服务端时,服务端(HRegionServer)会将请求按 Region 聚合,并交给具体的 Region 实例进行处理。Region 收到请求后,会剥离 append 请求和 increase 请求单独处理,然后将 put 和 delete 揉一起按批处理。处理之前,会检查整个memstore 的大小。[code="java"]protected voi...原创 2014-01-22 18:34:08 · 338 阅读 · 0 评论 -
HBase Memstore配置
[img]http://dl2.iteye.com/upload/attachment/0093/3823/cfa40a25-222e-398c-9b60-577f3ebb74c1.png[/img][img]http://dl2.iteye.com/upload/attachment/0093/3825/b2c1762a-e167-3b8b-a9bd-1de1199b8c9d.png[/im...原创 2014-01-21 11:09:27 · 182 阅读 · 0 评论 -
HBASE 代码阅读笔记-1 - PUT-3-提交任务2(基于0.96-hadoop2)
看看MultiServerCallable的核心方法,call[code="java"]public MultiResponse call() throws IOException { int countOfActions = this.multiAction.size(); if (countOfActions2013-11-11 19:13:23 · 148 阅读 · 0 评论 -
HBASE 代码阅读笔记-1 - PUT-2-定位RS和R-1(0.96-HADOOP2)
按照94的阅读进度,这里该看如何定位RS和Region了先回顾下94,原来的做法是遍历操作,然后根据每个操作来定位region,按后加入region的任务队列,没有则创建。定位region的操作由HConnectionManager.HConnectionImplementation.locateRegion方法完成,这里由AsyncProcessor.findDestLocation完成...2013-11-08 19:54:46 · 197 阅读 · 0 评论 -
HBASE 代码阅读笔记-1 - PUT操作客户端主流程(基于0.96.0-hadoop2)
又回来了,还是看put,不过版本号变了,希望看0.94的童靴移驾到[url]http://dennis-lee-gammy.iteye.com/admin/blogs/1972269[/url]put和doput方法变化不大,唯一就是原来的缓存队列名字里面加了一个async,然后类型由ArrayList变成了LinkedList。flushCommit方法[code="java"]...2013-11-08 19:23:50 · 270 阅读 · 0 评论 -
HBASE 代码阅读笔记-1 - PUT-3-提交任务1(基于0.94.12)
终于把RS的定位问题搞清楚了些些,时间不等人,马上看看connection.processBatch中,step2是如何把任务提交到服务端的吧之前已经看到,首先创建了一个Callable对象,而该对象的call方法实际上又创建了一个ServerCallable 对象,然后调用了它的withoutRetries方法。这个方法很简单,调用了connect方法和multi方法一个个开始啃...2013-11-07 19:44:36 · 134 阅读 · 0 评论 -
hbase MemStoreLAB代码浅析-1
本文基于 hbase 0.98x,如果发现源码与你的副本不符合,请检查代码版本。首先看看 Memstore 的maybeCloneWithAllocator方法[code="java"]Memstore#maybeCloneWithAllocatorprivate KeyValue maybeCloneWithAllocator(KeyValue kv) { if (al...2014-09-30 17:21:40 · 155 阅读 · 0 评论