简介
目标:理解为什么 HDFS 的 NameNode 由 FSImage 和 EditLog 组成。
根据 this article EditLog
用于进行小的增量更新,例如将单个文件重命名为 FSImage
读取效率高,但不适合进行小的增量更新。
问题
为什么 FSImage 读取效率高,但不适合进行小的增量更新?
最佳答案
FSImage 的修改需要随机写入 到磁盘,这是缓慢的操作。
EditLog 使用顺序写入,速度很快。
这是许多数据库和文件系统的常见模式:不是更改位于磁盘不同区域的实际数据,而是首先将更改记录在日志文件中。日志文件可以顺序写入和读取,从而提高操作速度。
关于hadoop - FSImage 读取效率高,但不适合进行小的增量更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24078766/