阿里云首页 云原生多模数据库 Lindorm

从自建HDFS迁移数据

本章介绍如何将在开源HDFS的数据平滑地迁移到Lindorm的文件引擎中。

背景介绍

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

适用范围

阿里云ECS自建Hadoop集群中的数据迁移到文件引擎。

准备工作

  1. 开通文件引擎,详情请参见开通指南

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

  3. 检查自建的Hadoop集群和Lindorm文件引擎的连通性 。

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

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

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

  4. 准备迁移工具

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

自建Hadoop集群数据迁移

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

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

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

常见问题

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

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