[zt]Apache HBase Region Splitting and Merging
关于region split讲的很清晰,预拆分拆分的步骤还有相关的参数设置。非常值得推荐。
关于MemStore的刷新方式
关于MemStore的刷新方式:1、MemStore达到上限hbase.hregion.memstore.flush.size 默认是128M的时候,会触发MemStore的刷新。这个参数表示单个MemStore的大小的阈值。这个时候是不阻塞写操作的。 2、当一个Region的MemStore总量达到hbase.hregion.memstore.block.multiplier * hbase.hregion.memstore.flush.size(默认2*128M=256M)时,会阻塞这个region的写操作,并强制刷写到HFile。触发这个刷新只会发生在MemStore即将写满128M时put了一个巨大的记录的情况,这时会阻塞写操作,强制刷新成功才能继续写入。 3、一个RegionServer会有很多个Region,很多的MemStore,所以可能单个Region并没有超过阈值,但是整个RegionServer的内存已经占用非常多了,这时候还有另外两个参数控制内存的刷写:hbase.regionserver.global.memstore.u
验证HFile和HLog中序列号的关系
关于上一篇blog提到HLog中的序列号和HFile中序列号的关系,在这里做个测试验证一下结果。
关于HBase的日志文件和HFile
在HBase的根目录下面,有两个跟日志相关的目录,.logs和.oldlogs。.logs保存的是所有Regionserver上当前在写入的HLog,可以看到每个RegionServer对应一个文件,所以HLog是对应RegionServer的。