【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述

【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述

HBase从C50迁移到6.5.1(01)迁移概述

项目上最近全新部署了FusionInsight HD 6.5.1大数据集群,并且希望将老集群FusinInsight HD C50的所有业务都迁移到新集群上。由于在老集群C50上的HDFS、HBase中存在有大量的业务数据,因此将业务从C50迁移到6.5.1的过程中,就需要将C50上的业务数据同步迁移到新集群6.5.1上。

迁移范围

  • 迁移方向
    • 从老集群FusinInsight HD C50迁移数据到新集群FusionInsight HD 6.5.1。
  • 迁移场景
    • 生产实施,HDFS、HBase数据迁移。
  • 迁移方式
    • 离线迁移
  • 影响范围
    • 离线数据迁移,需要完成所有存量数据的迁移,迁移完成后做数据验证及业务切换。

迁移前的准备

在做数据迁移前需要做一些必要的准备工作。

使用admin用户登录到需要迁移数据的老集群FusinInsight C50的Manager。

登录成功后进入到Manager的主界面。

HDFS文件检查

在HDFS服务的status界面查看是否有missing block。

如果存在missing block,则需要登录集群客户端,执行命令:

shell 复制代码
hdfs fsck /

查看并分析具体的原因。

确认HBase迁移目录

迁移前还需要确认需要迁移的具体目录,可以通过HDFS Web UI进行查看。

以及:

各个目录的说明如下:

路径 说明
/hbase/.tmp 当对表做创建或者删除操作的时候,会将表move到该tmp目录下,然后再去做处理操作。
/hbase/WALs 被HLog实例管理的WAL文件。 对于每个HregionServer,日志目录中都包含一个对应的子目录 在每个子目录下有多个HLog文件(因为日志滚动)。
/hbase/archive 存储表的归档和快照,HBase在做Split或者compact操作完成之后,会将HFile移到archive目录中,然后将之前的HFile删除掉,该目录由HMaster上的一个定时任务定期去清理。存储表的归档和快照具体目录:/hbase/archive/data/default/表名/region名/列族名/fd2221d8d1ae4e579c21882f0ec4c5a5
/hbase/corrupt 损坏的日志文件,一般为空。
/hbase/data HBase存储数据的核心目录。
/hbase/data/default 该目录存储所有用户数据表/hbase/data/default/表名。
/hbase/data/hbase 该目录存储了存储了HBase的namespace、meta和acl三个系统级表。 - /hbase/data/hbase/namespace namespace中存储了HBase中的所有namespace信息,包括预置的hbase和default。 - /hbase/data/hbase/meta meta表存储了所有Region信息的列表 - /hbase/data/hbase/acl acl则是表的用户权限控制
/hbase/hbase.id 集群的唯一ID。
/hbase/hbase.version 集群的文件格式版本信息。
/hbase/oldWALs 当/hbase/WALs中的HLog文件被持久化到存储文件中,不再需要日志文件时,它们会被移动到/hbase/oldWALs目录。

由于迁移过程只需要迁移HBase的数据,因此只需要迁移/hbase/data目录即可。

确保数据落盘

在数据迁移前,需要确保老集群FusinInsight HD C50上的HBase的所有表的数据已全部落入磁盘。

可以通过客户端,进入hbase shell客户端,对HBase的所有表都进行flush操作:

shell 复制代码
flush tablename

或者通过hdfs命令检查/hbase/WALs目录为空,或者大小为0:

shell 复制代码
hdfs dfs -du -h /hbase

停止老集群HBase服务

在迁移过程中,为了保证数据的完整性、一致性,防止因增量数据的产生而导致HDFS目录结构的变化,需要确保老集群FusinInsight HD C50上的HBase服务处于停止状态,因此,迁移时间点应该选在无业务数据产生的时间段。

停止新集群HBase服务

因为数据迁移会覆盖新集群FusinInsight HD 6.5.1上的HBase的数据,因此需要确保新集群的HBase的所有数据可删除、可覆盖,并且同样需要停止HBase服务。

使用admin用户登录到新集群FusinInsight HD 6.5.1的Manager,并在HBase服务界面,点击停止按钮停止HBase服务。

HBase服务停止后,点击完成按钮。

如果新集群中的HBase已经有数据,或者数据比较重要,也可以备份一下原有数据。

shell 复制代码
hdfs dfs -cp /hbase /hbase_bak
hdfs dfs -ls /hbase

备份完成后的文件如下:

至此,迁移前的准备工作就完成了,接下来就可以实施迁移工作。

相关推荐
SelectDB3 小时前
Apache Doris Python UDF:让 SQL 直接调用 Python 生态,支撑 Agent 时代复杂业务逻辑
大数据·数据库·python
ApacheSeaTunnel6 小时前
当多表数据涌入,Apache SeaTunnel 如何巧妙化解主键冲突?
大数据·开源·数据集成·seatunnel·技术分享·数据同步
大大大大晴天3 天前
Hudi Metadata Table 与 Hive Sync (HMS)怎么选?
大数据
手可摘星辰7773 天前
一次线上FlinkCDC异常排查复盘
大数据·flink
大大大大晴天3 天前
Hudi技术内幕:Metadata Table原理与实践
大数据
大大大大晴天4 天前
Hudi技术内幕:深入解析Index索引机制
大数据
阿里云大数据AI技术5 天前
Flink Forward Asia 2026 深圳启幕:Agentic Streaming for AI,开启实时智能新范式
大数据·flink
SelectDB5 天前
阶跃星辰基于 SelectDB 构建 PB 级 Agent 可观测平台
大数据·数据库·aigc
大大大大晴天8 天前
Hudi技术内幕:RecordPayload到RecordMerger
大数据
SelectDB9 天前
秒级弹性、最高降本 70%:SelectDB Serverless 如何重塑云数仓资源效率
大数据·后端·云原生