HDFS数据丢失隐患与fsync机制分析.pdfVIP

  • 0
  • 0
  • 约小于1千字
  • 约 1页
  • 2026-08-19 发布于北京
  • 举报

内存buffer、OSbuffer、磁盘文件,fsync,flush,都给大家铺垫好了前置的知识,都结合JDK

文档对IO流的flush的语义做的说明

默认情况下,如果OS不及时的fsync到磁盘,会在机器宕机的情况下,导致一些数据的丢

失,ES举了一个例子,写入的数据不是立马fsync到磁盘,导致写入的性能很差,导致写入

并发能力会很差

优先写入都是在内存buffer和OScache/buffer,都是在内存层面来解决的,高性能的写入,

高并发的写入,后续找一个时机来将buffer数据fsync到磁盘文件里去,减少频繁的磁盘读

写的操作

hadoop,接收到block文件,也是上述的做法

导致一个问题,结合源码来看看,block接收完毕,仅仅是对IO流执行flush,导致数据

可能停留在OSbuffer层面

rename操作,File的renameTo操作,JDK文档对他的说明就是:具体如何执行依赖于

底层的平台(OS操作系统),有可能rename不会成功,有可能不是原子的,有可能会因为

目标文件的存在而失败

rename操作是否可以立即在磁盘层面生效,也是持有疑问态度的

flush、rename,都不一定立在磁盘层面生效,那么此时如果

文档评论(0)

1亿VIP精品文档

相关文档