由于各种原因,我在机器A上安装了一个hadoop,在集群B上安装了第二个hadoop,在集群C上安装了第三个hadoop。
当我设置机器A时,设置了xml文件,以便我可以使用HDFS shell在机器A上找到HDFS。
我可以在机器A上重写xml文件,这样从机器A调用的HDFS shell默认会看到不同的HDFS。
但是,我希望能够方便地访问所有文件系统,而无需重置xml文件。
示例:在机器A登录时,我想将文件从群集B复制到群集C,语法如下:
hdfs dfs -cp hdfs://nn1.exampleB.com/file1 hdfs://nn2.exampleC.com/file2
目前似乎语法不起作用(虽然错误是多变的;有时它们是EOF;有时它们是网络超时)。
如果上述语法在没有修改XML配置文件的情况下有效吗?
答案 0 :(得分:0)
你应该使用distcp命令: $ hadoop distcp hdfs:// nn1:8020 / foo / bar hdfs:// nn2:8020 / bar / foo