Hadoop将数据移动到另一个用户

我在我的hdfs中有几百GB的userA(单节点configuration)。 我想将所有这些数据传送给用户B,这对于我正在设置的多节点configuration来说会更合适。

我尝试了以下没有成功:

  • hadoop fs -chown -R userB:hadoop PATH ,当以hadoop fs -chown -R userB:hadoop PATHlogin时,我看不到数据,用userA很好,尽pipeuserB被设置为hdfs所有者。
  • 尝试start-all.sh作为用户B,需要改变一些访问控制。 同样的事情我什么都看不到
  • 试图在userA上强制<name>hadoop.tmp.dir</name>
  • 试图将hadoop-userA dir重命名为hadoop-userB
    列出目录时,我有以下几点
    drwxr-xr-x - userB hadoop 0 2011-05-29 18:17 /user/userA/tmp

看起来数据仍然由userA所有。 任何想法如何解决?

附加 userB在组hadoop(当然)。

要使其工作,您需要执行以下操作:

  • 确保userB可以写入日志目录
  • 确保userB可以在dfs /目录中写入
  • 确保userB已经读取了目录hadoop fs -chown userB:hadoop

数据将停留在/ user / userA /,因此您需要使用绝对path进行查询

hadoop fs -ls /user/userA/<path>

使用相对path将指向不同的位置

hadoop fs -ls

尝试设置读取权限:

 hadoop fs -chmod -R 644 PATH 

您必须将数据复制到本地磁盘,然后重新上传其他用户。