hadoop - FSImage 读取效率高,但不适合进行小的增量更新

标签 hadoop hdfs

简介

目标:理解为什么 HDFS 的 NameNode 由 FSImage 和 EditLog 组成。

根据 this article EditLog 用于进行小的增量更新,例如将单个文件重命名为 FSImage 读取效率高,但不适合进行小的增量更新。

问题

为什么 FSImage 读取效率高,但不适合进行小的增量更新?

最佳答案

FSImage 的修改需要随机写入 到磁盘,这是缓慢的操作。

EditLog 使用顺序写入,速度很快。

这是许多数据库和文件系统的常见模式:不是更改位于磁盘不同区域的实际数据,而是首先将更改记录在日志文件中。日志文件可以顺序写入和读取,从而提高操作速度。

关于hadoop - FSImage 读取效率高,但不适合进行小的增量更新,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24078766/

相关文章:

hadoop - 一个数据节点如何知道写入管道中的下一个数据节点?

sql - 比较两个配置单元表之间的计数

performance - HDFS序列文件性能调优

apache - 更改现有的Hadoop群集名称

apache-spark - 每次在yarn中执行批处理作业时都会创建Spark上下文

hadoop - HDFS - 一个大文件或几个 block 大小的小文件

python - 根据感兴趣的日期范围作为参数输入,限制在 Pig Latin 中加载日志文件

java - 将包含内容的目录从 HDFS 复制到本地文件系统

hadoop - 获取配置单元脚本的 _SUCCESS 文件

amazon-web-services - 如何使用 HadoopJarStep Config.Step 属性?