关于hadoop hdfs文件系统重命名

时间:2012-01-20 02:09:45

标签: java filesystems hadoop hdfs

我将大量数据存储到hdfs中。我需要将文件从一个文件夹移动到另一个文件夹。

我可以问一般文件系统重命名方法的成本是多少? 假设我必须移动数TB的数据。

非常感谢。

2 个答案:

答案 0 :(得分:3)

重命名是HDFS中仅限元数据的操作。因此它就像在普通的POSIX文件系统中一样非常便宜。没有数据被移动。唯一涉及的服务器是namenode。

可以找到重命名的源代码here。很直接。

答案 1 :(得分:3)

如果正确实施,在HDFS或任何文件系统中移动文件涉及更改名称空间而不移动实际数据。完成代码只会更改名称节点中的名称空间(内存和编辑日志)。

来自NameNode.java班级

  • NameNode控制两个关键表:
  • 1)filename-> blocksequence(namespace)
  • 2)block-> machinelist(“inodes”)

只需要修改第一部分,不需要阻止到机器列表。我还没有尝试过,但我想它应该没问题。