5.4 数据的 Flush 过程

当 Memstore 太大了达到尺寸上的阀值,或者达到了刷写时间间隔阀值的时候,HBaes 会被这个 Memstore 的内容刷写到HDFS系统上,称为一个存储在硬盘上的HFile文件。 同时删除 HLog 中的历史数据 至此,我们可以称为数据真正地被持久化到硬盘上,就算宕机,断电,数据也不会丢失了。

有 3 个条件满足任意一个都可以触发 flush:

  1. 当一个 RegionServer 中的所有 MemStore 的大小只和超过了堆内存的 40%. 则这个 RegionServer 中所有的 MemStore 一起刷到 HFile 中

  2. 当有任何一个 MemStore 的存活时间超过了 1h, 则这个 RegionServer 中所有的 MemStore 一起刷到 HFile 中.

  3. 当所有的 Region 中的 MemStore 之和超过 128M, 也会触发.

hbase.regionserver.global.memstore.size=0.4
hbase.regionserver.global.memstore.size.lower.limit=0.95
hbase.regionserver.optionalcacheflushinterval=3600000
hbase.hregion.memstore.flush.size=134217728(128M)
Copyright © 尚硅谷大数据 2019 all right reserved,powered by Gitbook
该文件最后修订时间: 2019-03-26 08:52:09

results matching ""

    No results matching ""