hadoop—将整个HDF从一个集群传输到另一个集群

vi4fp9gy  于 2021-06-04  发布在  Hadoop
关注(0)|答案(3)|浏览(476)

我在一个有5个节点的测试集群上的hdfs中存储了很多配置单元表。数据应该在70gb*3左右(复制)。不,我想把整个设置转移到一个有更多节点的不同环境中。两个群集之间不可能有网络连接。
问题是,我没有太多的时间与新的集群,也没有可能测试转移与其他测试环境。因此,我需要一个坚实的计划
我有什么选择?
如何在新集群上以最小的配置工作量传输配置单元设置?
是否可以将5个节点的hdfs目录复制到新集群的5个节点,然后将其余节点添加到新集群并启动平衡器?

3gtaxfhh

3gtaxfhh1#

可以使用以下命令复制数据:sudo-u hdfs hadoop--config{pathtothevpccluster}/vpccluster distcphdfs://sourceip:8020/user/hdfs/wholedatahdfs://destinationip:8020/user/hdfs/wholedata

cyvaqqii

cyvaqqii2#

没有网络连接,这将是棘手的!
我会的
将文件从hdfs复制到某种可移动存储器(U盘、外部hdd等)
将存储移动到新群集
将文件复制回hdfs
请注意,这不会保留元数据,如文件创建/上次访问时间,更重要的是,所有权和权限。
这个过程的小规模测试应该非常简单。
如果您可以在两个集群之间获得(甚至是暂时的)网络连接,那么 distcp 会是最好的选择。它使用map reduce来并行传输,可能会节省大量的时间。

cmssoen2

cmssoen23#

您可以使用hadoopdistcp命令将目录和文件从一个集群复制到另一个集群
下面是一个小例子来描述它的用法
http://souravgulati.webs.com/apps/forums/topics/show/8534378-hadoop-copy-files-from-one-hadoop-cluster-to-other-hadoop-cluster

相关问题