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