1

我在具有 5 个节点的测试集群上的 HDFS 中存储了很多配置单元表。数据应约为 70 Gb * 3(复制)。不,我想将整个设置转移到具有更多节点的不同环境。两个集群之间的网络连接是不可能的。

问题是我没有太多时间使用新集群,也没有可能使用其他测试环境测试传输。因此我需要一个可靠的计划。:)

我有什么选择?

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

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

4

3 回答 3

2

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

我会

  1. 将文件从 HDFS 复制到某种可移动存储设备(U 盘、外置硬盘等)
  2. 将存储移动到新集群
  3. 将文件复制回 HDFS

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

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

如果您可以在两个集群之间获得(甚至是暂时的)网络连接,那distcp将是可行的方法。它使用 map reduce 来并行传输,可能会节省大量时间。

于 2013-01-11T10:45:03.097 回答
1

您可以使用 hadoop distcp 命令将目录和文件从一个集群复制到另一个集群

这是一个描述其用法的小示例

http://souravgulati.webs.com/apps/forums/topics/show/8534378-hadoop-copy-files-from-one-hadoop-cluster-to-other-hadoop-cluster

于 2013-04-01T13:09:14.820 回答
0

您可以使用以下命令复制数据: sudo -u hdfs hadoop --config {PathtotheVpcCluster}/vpcCluster distcp hdfs://SourceIP:8020/user/hdfs/WholeData hdfs://DestinationIP:8020/user/hdfs/WholeData

于 2013-03-31T05:36:44.507 回答