我在具有 5 个节点的测试集群上的 HDFS 中存储了很多配置单元表。数据应约为 70 Gb * 3(复制)。不,我想将整个设置转移到具有更多节点的不同环境。两个集群之间的网络连接是不可能的。
问题是我没有太多时间使用新集群,也没有可能使用其他测试环境测试传输。因此我需要一个可靠的计划。:)
我有什么选择?
如何在新集群上以最少的配置工作转移配置单元设置?
是否可以将 5 个节点的 hdfs 目录复制到新集群的 5 个节点,然后将其余节点添加到新集群并启动平衡器?
没有网络连接,这将是棘手的!
我会
请注意,这不会保留文件创建/上次访问时间等元数据,更重要的是,所有权和权限。
这个过程的小规模测试应该非常简单。
如果您可以在两个集群之间获得(甚至是暂时的)网络连接,那distcp
将是可行的方法。它使用 map reduce 来并行传输,可能会节省大量时间。
您可以使用 hadoop distcp 命令将目录和文件从一个集群复制到另一个集群
这是一个描述其用法的小示例
您可以使用以下命令复制数据: sudo -u hdfs hadoop --config {PathtotheVpcCluster}/vpcCluster distcp hdfs://SourceIP:8020/user/hdfs/WholeData hdfs://DestinationIP:8020/user/hdfs/WholeData