Hbase的log管理(二)

1.在Hbase的log管理(一)中,描述了Hbase对于Hlog的更新和清理过程。其中提到会把已经写入磁盘的log文件move到.oldlog文件中,那么.oldlog中的文件又如何处理呢?
HMaster启动的时候会起一个守护线程LogCleaner,专门清理oldlog中的文件,频率是60s

2.数据以KeyValue形式到达HRegionServer,将写入WAL之后,写入一个SequenceFile。看过去没问题,但是因为数据流在写入文件系统时,经常会缓存以提高性能。这样,有些本以为在日志文件中的数据实际在内存中。这里,提供了一个LogFlusher的类。它调用HLog.optionalSync(),后者根“hbase.regionserver.optionallogflushinterval”(默认是10秒),定期调用Hlog.sync()。另外,HLog.doWrite()也会根据“hbase.regionserver.flushlogentries”(默认100秒)定期调用Hlog.sync()。Sync() 本身调用HLog.Writer.sync(),它由SequenceFileLogWriter实现。

你可能感兴趣的:(hbase,hlog,oldlog,logcleaner)