在hdfs中锁定目录

jdgnovmf  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(447)

有没有办法在hdfs中获取目录锁?我想做的是:
我有一个名为../latest/…的目录。。。
每天我都需要向这个目录中添加新数据,但是在我复制新数据之前,我想获取锁,这样在我复制新数据时没有人使用它。
有没有办法在hdfs中做到这一点?

fruv7luv

fruv7luv1#

不,没有办法通过hdfs做到这一点。
一般来说,当我遇到这个问题时,我会尝试将数据复制到一个随机的临时位置,然后在复制完成后移动文件。这是很好的,因为mv是非常即时的,而复制需要更长的时间。这样,如果您检查是否有其他人正在写入,然后查看mv,则时间段和“锁定”会保持较短的时间
生成随机数
将数据放入hdfs://tmp/$随机数
检查目的地是否正常( hadoop fs -ls (也许) hadoop fs -mv 将数据传输到 latest 目录。
有一个很小的可能性,3到4之间,你可能有人重击的东西。如果这真的让你紧张,也许你可以在zookeeper中实现一个简单的锁。馆长可以帮你。

相关问题