Hadoop源碼分析(8Lease).docxVIP

  • 14
  • 0
  • 约1.04万字
  • 约 11页
  • 2017-01-19 发布于重庆
  • 举报
Hadoop源碼分析(8Lease)

Hadoop源码分析(8Lease)作者:张孟志 日期:2013-08-06本篇开始对租约(Lease)进行分析,下面是类图。Lease可以认为是一个文件写锁,当客户端需要写文件的时候,它需要申请一个Lease,NameNode负责记录那个文件上有Lease,Lease的客户是谁,超时时间(分布式处理的一种常用技术)等,所有这些工作由下面3个类完成。至于租约过期NameNode需要采取什么动作,并不是这部分code要完成的功能。LeaseManager(左)管理着系统中的所有Lease(右),同时,LeaseManager有一个线程Monitor,用于检查是否有Lease到期。一个租约由一个holder(客户端名),lastUpdate(上次更新时间)和paths(该客户端操作的文件集合)构成。了解了这些属性,相关的方法就很好理解了。LeaseManager的方法也就很好理解,就是对Lease进行操作。注意,LeaseManager的addLease并检查文件上是否已经有Lease,如果存在就会renewLease(remove、add),这使LeaseManager变简单。内部类Monitor通过对Lease的最后跟新时间来检测Lease是否过期,如果过期,简单调用FSNamesystem的internalReleaseLease方法。这部分的代码主要是大部分的一致性逻辑都存在于

文档评论(0)

1亿VIP精品文档

相关文档