为什么数据没有立即刷新到文件系统?默认情况下,数据在刷新到文件系统之前在memstore中可用多长时间?对于每次写入,数据将存储在memstore中,就像每次读取一样,数据也将写入memstore/
发布于 2013-07-16 20:55:34
刷新只是将RPC存储到区域服务器,数据可以通过以下方式刷新到区域服务器
表上的
put
操作,行/秒将被传输到区域服务器。setWriteBufferSize()
设置缓冲区大小,那么当缓冲区变满时。flushCommits()
。发布于 2013-07-17 10:09:38
Memstore充当最后写入数据的内存缓存,并确保在作为HFile写入HDFS时,所有行键都是主要排序的。因此,在刷新之前,先对行进行排序,然后再刷新。这主要是因为HDFS中的文件一旦写入就无法修改。
针对Memstore刷新调优以下两个命令
hbase.hregion.memstore.flush.size
hbase.regionserver.global.memstore.lowerLimit
频繁的内存刷新也会降低读操作的性能,因此HBase必须调查频繁刷新导致的大量HFiles。
希望这能有所帮助。
https://stackoverflow.com/questions/17675849
复制相似问题