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

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

  • HBase从C50迁移到6.5.1(01)迁移概述
    • 迁移范围
    • 迁移前的准备
      • HDFS文件检查
      • 确认HBase迁移目录
      • 确保数据落盘
      • 停止老集群HBase服务
      • 停止新集群HBase服务

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。

【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述_第1张图片

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

【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述_第2张图片

HDFS文件检查

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

【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述_第3张图片

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

hdfs fsck /

查看并分析具体的原因。

确认HBase迁移目录

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

【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述_第4张图片

以及:

【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述_第5张图片

各个目录的说明如下:

路径 说明
/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操作:

flush tablename

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

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服务。

【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述_第6张图片

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

【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述_第7张图片

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

hdfs dfs -cp /hbase /hbase_bak
hdfs dfs -ls /hbase

【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述_第8张图片

备份完成后的文件如下:

【FusionInsight 迁移】HBase从C50迁移到6.5.1(01)迁移概述_第9张图片

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

你可能感兴趣的:(FusionInsight,大数据,HBase,数据科学)