Hadoop副本保留所有权/权限



在Hadoop中复制文件时,有什么方法可以保留所有权/权限吗?试过hadoop fs -cp -p <src> <dest>.没用。

是的,当然可以。但我建议你使用distcp,这是一个在集群之间或同一集群上复制数据的高级工具,你有很多选择来优化执行。此命令将运行 mapreduce,因此对于长副本,它将花费更少的时间,并且您可以保留所有属性。

例:

hadoop distcp /source_dir/data 
              /target_dir/data
hadoop distcp /source_dir/dataA 
              /source_dir/dataB 
              /target_dir/

对于所有属性:

  • R:复制编号
  • B:块大小
  • U:用户
  • G:组
  • P:权限
  • C:校验和类型
  • 答:前交叉韧带
  • x: XAttr
  • t:时间戳

另一个示例,但保留所有属性:

hadoop distcp -p rbugpcaxt 
              /source_dir/data 
              /target_dir/data 

您可以在hadoop-distcp上阅读有关此命令的更多信息最重要的不是所有者和组或权限,你可以在复制命令后轻松更改它,最重要的属性是ACL,块大小,复制数,以及有时时间戳,这是额外的属性,你不能在简单的复制后那么容易地改变(hdfs dfs -cp)。

没有,但您可以在复制文件后(假设您具有适当的权限)更改所有权。

目前无法在复制权限时创建文件的两个副本 -- 但是,根据您的用例,可以选择移动文件。例如,我不得不更改文件的位置及其权限,并且还想保留备份(权限无关紧要),因此我以权限移动到新位置并复制回原始位置。我知道这不是很有帮助,但这是我们目前在Hadoop中最好的

相关内容

  • 没有找到相关文章

最新更新