我在集群a中有一个目录:/a/b/c。此目录包含目录“一”、“二”、“三”、“九十”。在集群b中,我有目录/a/b/c。此目录包含目录“one”。我想把目录“one”到“90th”从集群a复制到集群b,这样,集群b最后会有目录/a/b/c/one/a/b/c/90。群集b/a/b/c/one中存在不在群集a/a/b/c/one中的文件。复印件之后那些应该还在。
我尝试了以下方法:
1)
distcp /a/b/c/ hdfs:B:8020/a/b/c
但这使得目录c位于前一个c中。
2)
distcp /a/b/c/* hdfs:B:8020/a/b/c
但我得到:
zsh: no matches found: /a/b/c/*
distcp /a/b/c/\* hdfs:B:8020/a/b/c
但我得到:
Copy failed: org.apache.hadoop.mapred.InvalidInputException: Input source /a/b/c/* does not exist.
正确的命令是什么?
2条答案
按热度按时间hujrc8aj1#
如果您已经按照所建议的场景拥有了“c”,那么您可能需要将/a/b/c下的内容添加到目标集群中现有的/a/b/c中。为此,可以使用-update标志。
ngynwnxp2#
知道了。