在hadoop集群之间传输数据

在hadoop集群之间传输数据,hadoop,Hadoop,我想在位于不同服务器上的两个hadoop集群之间传输数据 资料来源: hadoop版本 Hadoop 2.0.0-cdh4.3.1 目的地: hadoop版本 Hadoop 2.0.0-cdh4.3.1 我在源代码中有一个目录: hadoop fs-ls/bid_data/foo 我在目标中有一个目录: hadoop fs-ls/bid_数据 我想复制另一个集群中的/bid_data/foo目录及其/bid_数据中的内容 谢谢,, 里约热内卢 = 更新: 下面是我使用以下命令时收到的错误消息:这

我想在位于不同服务器上的两个hadoop集群之间传输数据

资料来源: hadoop版本 Hadoop 2.0.0-cdh4.3.1

目的地: hadoop版本 Hadoop 2.0.0-cdh4.3.1

我在源代码中有一个目录:

hadoop fs-ls/bid_data/foo

我在目标中有一个目录:

hadoop fs-ls/bid_数据

我想复制另一个集群中的/bid_data/foo目录及其/bid_数据中的内容

谢谢,, 里约热内卢

=

更新:

下面是我使用以下命令时收到的错误消息:这是防火墙问题吗?目标群集不向世界开放,这意味着我需要VPN来访问局域网外的目标群集

hadoop distcp hdfs://nn1:8020/bid_data/foo hdfs://nn2:8020/bid_data




java.io.IOException: Copied: 0 Skipped: 0 Failed: 1
at org.apache.hadoop.tools.DistCp$CopyFilesMapper.close(DistCp.java:582)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:417)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:332)
at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:415)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1408)
at org.apache.hadoop.mapred.Child.main(Child.java:262)
=


Hadoop提供了将数据从一个集群传输到另一个集群的选项。它的Distcp

同样的命令是

     hadoop distcp hdfs://nn1:8020/bid_data/foo hdfs://nn2:8020/bid_data
有关更多详细信息,请参阅:


我需要输入密码吗?是“hadoop distcp”吗hftp://nn1:50070/bid_data/foo hdfs://nn2:8020/bid_data". 什么时候使用hftp?不需要密码和hftp。如前所述,只需使用它就可以在dest hdfs位置检查您的预任务。查看它是否具有写入权限等。
     hadoop distcp hdfs://nn1:8020/bid_data/foo hdfs://nn2:8020/bid_data