2013-01-11 55 views
1

我有很多配置单元表存储在HDFS中的5个节点的测试群集上。数据应该在70 Gb * 3左右(重新拼接)。不,我想将整个设置转移到具有更多节点的不同环境中。两个群集之间的网络连接是不可能的。将整个HDFS从一个群集传输到另一个群集

事情是,我没有太多的时间与新的群集,也没有可能测试转移与其他测试环境。所以我需要一个坚实的计划。 :)

我有什么选择?

如何在新集群上以最少的配置工作传输配置单元设置?

是否可以将5个节点的hdfs导向器复制到新集群的5个节点,然后将其余节点添加到新集群并启动平衡器?

回答

2

没有网络连接,这将是棘手!

我会

  1. 将文件复制出来HDFS的到某种可移动存储(USB闪存盘,外接硬盘等)
  2. 移动存储到新的集群
  3. 复制文件回到HDFS

请注意,这不会保留元数据,如文件创建/上次访问时间,更重要的是,所有权和权限。

这个过程的小规模测试应该非常简单。

如果你能得到(甚至是暂时的)两个集群之间的网络连接,那么distcp就是要走的路。它使用map reduce来平行传输,可能会节省大量时间。

+0

我想避免这种情况遇到了一个小例子HOD。但由于这些文件都在一个目录中,所以这个过程不应该有很多步骤,对吧? – kroax

+0

我不会认为这太难。可能只是需要时间。查看'hadoop fs -copyToLocal'和'hadoop fs -copyFromLocal'这将递归地复制整个目录,如果你传递一个目录的名字。 – dty

0

可以通过使用该命令复制数据: 须藤-u HDFS的hadoop --config {PathtotheVpcCluster}/vpcCluster DistCp使用HDFS:// SOURCEIP:8020 /用户/ HDFS/WholeData HDFS:// DestinationIP:8020 /用户/ HDFS/WholeData

相关问题