Hbase数据迁移方案

本文介绍了Hbase数据迁移的多种方案,包括走hdfs数据远程拷贝、Hbase CopyTable、Export/Import、ExportSnapshot(推荐)以及Spark迁移。重点讲述了ExportSnapshot方式,强调了在迁移过程中需要注意新集群HMaster的定时清理配置,以防止数据丢失。解决方案包括调整HMaster清理间隔和使用Ambari进行配置管理。
摘要由CSDN通过智能技术生成

Hbase数据迁移方案

hbase的数据迁移有几种,要求新老集群间所有机器间网络通并配有路由表或dns,查资料发现以下几种方案:

1.走hdfs数据远程拷贝

直接用hadoop distcp远程拷贝迁移出hfiles(先将原表disable下线,flush确保memostore持久化),再在新hbase集群创建相同表,通过LoadIncrementalHFiles工具载入hfile到这个新表

低层原理是利用hadoop mapreduce 将Hfiles文件作为输入并行拷贝到新hdfs集群

2.Hbase CopyTable方式

直接利用hbase org.apache.hadoop.hbase.mapreduce.CopyTable工具深度拷贝真实表数据到新集群,低层原理也是通过mapreduce,不过输入需要全表扫描原表,增大老Hbase集群的压力,影响上层业务

3.Hbase Export/Import方式

分两步进行:

  • hbase org.apache.hadoop.hbase.mapreduce.Export

    扫描原表转化成sequence file落入hdfs(新hdfs集群)

  • hbase org.apache.hadoop.hbase.mapreduce.Import

    新集群导入sequence file到新集群

相比copyTable,可以通过先生产中间文件,实现跨不同Hbase版本实现迁移,没有兼容顾虑,但也需要扫描全表

4.ExportSnapshot方式(推荐)

  • 老集群hbase shell通过snapshot创建表快照

    这个快照只拷贝原表的元数据,非深拷贝

  • hbase org.apache.hadoop.hbase.snapshot.ExportSnapshot命令导出快照到新Hbase集群

    这个过程会通过MR任务将Hfile迁移到新集群hdfs下的快照表临时目录

  • 新集群上从快照恢复成原表并强制合并文件

    restore_snapshot ‘ t a b l e N a m e s n a p s h o t ′ , 从 快 照 恢 复 成 原 表 m

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值