💡
原文中文,约1500字,阅读约需4分钟。
📝
内容提要
HDFS的租约机制通过LeaseManager实现,确保同一时间只有一个客户端能修改文件。租约分为软限制和硬限制,软限制为60秒,超时后可恢复租约。LeaseManager管理用户、文件和租约的关系,定期检查租约状态,以确保文件的独占性。
🎯
关键要点
- HDFS的租约机制通过LeaseManager实现,确保同一时间只有一个客户端能修改文件。
- 租约分为软限制和硬限制,软限制为60秒,超时后可恢复租约。
- LeaseManager管理用户、文件和租约的关系,内部维护两个集合:leases和leasesById。
- 租约持有者的身份由clientName表示,生成规则包括任务ID和随机数。
- LeaseManager定期检查租约状态,超出硬限制后会强制进行租约恢复,恢复的执行者为HDFS_NameNode。
❓
延伸问答
HDFS的租约机制是如何实现的?
HDFS的租约机制通过LeaseManager实现,确保同一时间只有一个客户端能修改文件。
什么是软限制和硬限制?
软限制为60秒,超时后可恢复租约;硬限制是文件最长不放开租约的时间,超出后会强制进行租约恢复。
LeaseManager如何管理租约?
LeaseManager管理用户、文件和租约的关系,维护两个集合:leases和leasesById。
租约持有者的身份是如何表示的?
租约持有者的身份由clientName表示,生成规则包括任务ID和随机数。
LeaseManager如何处理超时的租约?
LeaseManager定期检查租约状态,超出硬限制后会强制进行租约恢复,恢复的执行者为HDFS_NameNode。
在什么情况下会抛出租约持有者异常?
如果文件是UnderConstruction且已有租约持有者,则会抛出已持有租约的异常。
🏷️
标签
➡️