为什么数据不会立即刷新到文件系统? 默认情况下,在刷新到文件系统之前,数据在memstore中可用多长时间? 对于每个写入数据将存储在memstore中,如每次读取也会将数据写入memstore /
答案 0 :(得分:0)
Flushing只是存储到区域服务器的RPC, 可以通过
将数据刷新到Region服务器put
操作,Row / s将被转移到Region服务器。 setWriteBufferSize()
,那么当缓冲区变满时。flushCommits()
。答案 1 :(得分:0)
Memstore充当最后写入数据的内存缓存,并且还确保当作为HFile写入HDFS时,所有行键主要是排序的。因此,在刷新之前,对行进行排序然后刷新。这主要是因为HDFS中的文件一旦写入就无法修改 调整以下两个用于Memstore刷新
hbase.hregion.memstore.flush.size
hbase.regionserver.global.memstore.lowerLimit
频繁的Memstore刷新也会降低读取操作的性能,因为HBase必须查看频繁刷新导致的大量HFile。
希望这有帮助。