租约管理器为到期时间维护软限制(1分钟)和硬限制(1小时)(这些限制当前不可配置),并且租约管理器维护的所有租约都遵循相同的软限制和硬限制。在软限制到期之前,持有文件租约的客户端对该文件具有独占写访问权限。如果软限制到期,并且客户端尚未续订租约或关闭文件(文件关闭时释放文件租约),则另一个客户端可以强制接管租约。如果硬限制过期并且客户端尚未续订租约,hdfs将假定客户端已退出并将代表客户端自动关闭文件,从而恢复租约。为什么需要这个功能?在什么情况下其他客户会试图接管租约?
bihw5rsg1#
如果当前正在写入文件的客户端不健康或已死亡,则另一个客户端只能尝试接管租约。任何时候,只有一个客户机可以打开一个文件,以便在hdfs中写入。我不确定这个特性的历史,但我怀疑1分钟的限制是为了防止客户端由于短暂的暂停(例如gc暂停或类似的情况)而丢失租约。有1小时的超时时间,所以namenode关闭客户机已经死了很长时间的文件。最近发生了一个变化,硬超时被设置为可配置的,默认情况下减少到20分钟。
1条答案
按热度按时间bihw5rsg1#
如果当前正在写入文件的客户端不健康或已死亡,则另一个客户端只能尝试接管租约。任何时候,只有一个客户机可以打开一个文件,以便在hdfs中写入。
我不确定这个特性的历史,但我怀疑1分钟的限制是为了防止客户端由于短暂的暂停(例如gc暂停或类似的情况)而丢失租约。
有1小时的超时时间,所以namenode关闭客户机已经死了很长时间的文件。
最近发生了一个变化,硬超时被设置为可配置的,默认情况下减少到20分钟。