HDFS的写租约

2019-01-24  本文已影响42人  飞叔Brother

我们通常向hdfs写入数据时,会以写入的方式打开文件,打开文件的客户端会被授予一个独占的写租约,用于保护该文件。

这意味着在该客户端完成操作之前,没有其他客户端能够写入该文件。

为确保没有“不辞而别的”客户端占用租约,租约会周期性的过期。

租约的使用有效地确保了两个应用程序不会同时写入一个给定文件(与数据库中的写锁相似)。

租约的生命周期由软限制和硬限制来限定。

在软限制期间,写入者可以独占地访问文件。

如果软限制过期且客户端没能关闭文件或者更新租约(通过向namenode发送心跳),那么其他客户端可以抢占该租约。

如果硬限制(一小时)过期且客户端没能更新租约,那么HDFS认为客户端已经退出,并自动替写入者关闭文件,然后恢复租约。

写入者的租约并不会阻止其他客户端读取该文件。

一个文件可能有多个并发的读取者。


以上所述如有不妥,恳请大家指正。

(如果对您有所帮助话,那就点个赞点个关注吧,嘻嘻~~)

安利一个特别热心的编程乐园群:624108656

超级热心的群
上一篇下一篇

猜你喜欢

热点阅读