【精】一文彻底给你讲清HDFS租约恢复和块恢复机制

171 篇文章 147 订阅 ¥29.90 ¥99.00
本文详细讲解了HDFS中的租约(Lease)机制,包括租约的软限制和硬限制,以及块恢复(Block Recovery)的概念。租约用于保证文件写的互斥,而块恢复则确保在客户端异常或租约超时时,文件的最后一个未完成块在所有DataNode上内容一致。文章还探讨了何时会触发租约恢复,以及NameNode和DataNode在租约恢复过程中的具体操作,包括recoverLeaseInternal、internalReleaseLease和initializeBlockRecovery等关键方法的逻辑。
摘要由CSDN通过智能技术生成

一、前置概念

① Lease(租约)
HDFS不支持客户端的并行写操作,也就是说一个文件同一时刻只能由一个客户端来写。因此就需要一种机制来保证对HDFS文件写的互斥。HDFS采用了租约(Lease)机制来实现此功能。租约的意思就是:Namenode给租约持有者(Lease Holder,一般是一个客户端)在规定时间内拥有写文件的权限的合同。

② softLimit和hardLimit
在①中我们说了,是在规定时间内拥有写文件的权限。这里面有两个时间概念。

  • softLimit:软限制是写文件规定的租约超时时间,默认60秒,不可以配置
  • hardLimit:硬限制是用于考虑文件关闭异常时,强制收回租约的时间,默认60分钟,不可以配置。LeaseManager类中有一个Monitor内部类定期的去检查租约的更新情况,当超过hardLimit时,会触发租约恢复机制。

③ Block Recovery(块恢复)
说块恢复之前,必须要说租约恢复。在HDFS中,客户端要想写文件,必须要获得该文件的租约。如果客户端还想要继续写文件,那么必须要在提前定义好的时间周期里(soft limit and hard limit)进行renew 租约。如果没有显式地renew租约或者客户端挂掉了,那么HDFS就会关闭这个文件并且释放掉代表这个客户端的租约,从而让其他的客户端能够写文件。这个过程就叫做lease recovery(租约恢复)。那block recovery(块恢复&#

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

叹了口丶气

觉得有收获就支持一下吧~

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值