如何使用HDFS shell访问两个或多个远程Hadoop文件系统?

时间:2014-02-26 07:02:15

标签: hadoop hdfs

由于各种原因,我在机器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配置文件的情况下有效吗?

1 个答案:

答案 0 :(得分:0)

你应该使用distcp命令: $ hadoop distcp hdfs:// nn1:8020 / foo / bar hdfs:// nn2:8020 / bar / foo

在此处查看更多内容:http://hadoop.apache.org/docs/r0.19.0/distcp.html