HDFS lease

2021-01-31  本文已影响0人  西门早柿

HDFS 中的文件读写为一写多读。写文件时,每一个文件都与一个租约和一个客户端进程相对应。可以理解为一个带过期时间的锁。既可以防止客户端进程长期占有文件但不做操作。也可以防止别的客户端写入。

在客户端崩溃时,打开的文件没有被正确关闭,服务端的锁还在,也没有过期,别的客户端无法打开,需要先调用 recoverLease 把服务端已有的租约关闭,才可以重新打开文件。

这里有个问题,当前客户端正常时,如果有另外一个客户端调用 recoverLease 会发生什么?取决于租约是否软超时,如果软超时了,是可以恢复租约并关闭文件的。

上一篇下一篇

猜你喜欢

热点阅读