【Hadoop】一图学习HDFS源码结构系列——内存存储Lazy persist

本文详细探讨了HDFS中Lazy Persist的内存存储机制,包括异步持久化算法,如何设置内存存储(通过命令行、create文件方法、FileSystem的setStoragePolicy方法),以及LAZY_PERSIST内存存储的实现细节,如RamDiskReplicaLruTracker、LazyWriter和RamDiskAsyncLazyPersistService的作用和相互关系。
摘要由CSDN通过智能技术生成

【Hadoop】一图学习HDFS源码结构系列——内存存储Lazy persist

最近在学习HDFS的源码,源码规模本身比较大,学了也容易忘记,于是对于每一个小部分的功能都用Visio整理了一结构图,方便以后有用时使用

Lazy persist

从三个方面理解Lazy persist功能

异步持久化算法

我们知道,内存空间一定是有限的,而且掉电会丢失,不可能把所有的数据都存放到内存里面,所以HDFS会不断地把存放在内存里的数据进行持久化,保存到永久磁盘里。那么这里就涉及数据块的选择算法了,HDFS的做法是在内存存储新数据的同时,持久化距离当前时刻最远(存储时间最早)的数据。

设置内存存储

设置内存存储有3中方法
1. 在命令行中设置:命令行 hdfs storagepolicies -setStoragePolicy -path -policy LAZY_PERSIST
2. create文件方法,带上参数CreateFlag.LAZY_PERSIST,其调用过程,可看DFSClint#Create with CreateFlag
3. 调用FileSystem的setStoragePolicy方法,如

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值