文档

从自建HDFS迁移数据

更新时间:

本章介绍如何将在开源HDFS的数据平滑地迁移到LindormDFS(Lindorm底层存储,LDFS)。

背景介绍

在某些场景下面,我们需要从自建的Hadoop中存储的数据迁移到LindormDFS当中。

适用范围

阿里云ECS自建Hadoop集群中的数据迁移到LindormDFS。

准备工作

  • 开通LindormDFS,详情请参见开通指南

  • 修改Hadoop 配置信息,详情请参见使用开源HDFS客户端访问

  • 检查自建的Hadoop集群和LindormDFS的连通性。

    在自建的Hadoop集群上执行以下命令测试集群的连通性。

    hadoop fs -ls hdfs://${实例Id}/

    其中${实例Id}请根据您的实际情况进行修改。如果可以正常查看到LindormDFS的文件列表,则表示集群连通成功。

  • 准备迁移工具

    您可以通过Hadoop社区标准的Distcp工具实现全量或增量的HDFS数据迁移,详细的Distcp工具使用说明请参见Hadoop Distcp 工具官方说明文档

自建Hadoop集群数据迁移

阿里云ECS自建Hadoop集群和LindormDFS处于相同VPC网络环境时,可以直接通过VPC网络迁移数据到LindormDFS。迁移命令如下所示:

hadoop distcp  -m 1000 -bandwidth 30 hdfs://oldcluster:8020/user/hive/warehouse  hdfs://${实例Id}/user/hive/warehouse

其中oldcluster为原自建Hadoop集群namenode的IP或者域名,${实例Id}为LindormDFS的实例ID,请根据您的实际情况进行修改。

常见问题

  • 整体迁移速度受Hadoop集群与文件存储HDFS之间的带宽、集群规模影响。如果迁移数据量大,建议先尝试迁移几个目录评估下整体时间。如果只能在指定时间段内迁移数据,可以将目录切分为几个小目录,依次迁移。

  • 一般全量数据同步时,需要一个短暂的业务停写过程,用来启用双写双算或直接将业务切换到新集群上。