- 快召唤伙伴们来围观吧
- 微博 QQ QQ空间 贴吧
- 文档嵌入链接
- 复制
- 微信扫一扫分享
- 已成功复制到剪贴板
HBase数据迁移解决方案的设计与实践
展开查看详情
1 .HBase数据迁移解决方案的设计与实践 熊嘉男(侧田) 2019.01
2 .01 同构数据源迁移 使⽤用场景、⽅方案⽐比较、问题、优化 02 异构数据源迁移 使⽤用场景、剖析⽅方案
3 .01 同构数据源迁移
4 .1.1 使⽤用场景、能⼒力力
5 .典型场景 • 机房搬迁 • HBase主备集群的搭建 • 集群冷备、异地容灾 • 集群业务拆分 为了无法计算的价值
6 .数据迁移所需要具备的能⼒力力 • 同时搞定历史数据、实时增量量数据 • 尽可能减少对在线业务的影响 • 避免对业务应⽤用侵⼊入 • 稳定性,全程⽆无⼈人值守 • 正确性,对迁移的数据进⾏行行数据校验 • ⾼高效性,能够满⾜足⽀支持TB、PB级别的数据迁移
7 .1.2 现有⽅方案
8 .1.2.1 历史数据迁移
9 .历史数据迁移⽅方案 Scan 原表,将结果 put 到⽬目标表 优点 1. 实现简单 缺点 1. ⼤大表全表Scan,⼤大数据量量的Put,影响集群业务 local read remote read 2. 数据迁移低效 HFile HFile HFile HFile flush Put WAL Region MemStore Client wal RegionServer
10 .历史数据迁移⽅方案 1. 加锁,不不允许数据变更更 Create Snapshot & Export Snapshot Memstore 优点 1. 原⽣生⾃自带 2. 可以粗粒度控制迁移速度 snapshot 2. flush 成 HFile 缺点 1. 功能、性能、操作都发⽣生在源集群,可能迁移过 MR Target Cluster 程中,对源集群的性能和稳定性产⽣生影响 2. 快照可能会暂⽤用存储资源 3. 为所有⽂文件创建引⽤用⽂文件
11 .1.2.2 增量量数据迁移
12 .实时增量量数据迁移⽅方案 客户端双写 Client 缺点 1. 需要对客户端应⽤用做改造 2. 客户端会受到异常集群的影响 clusterA clusterB
13 .实时增量量数据迁移⽅方案 Replication 优点 1. 原⽣生⾃自带 2. 错误重试,增量量数据不不丢失 缺点 1. 不不同版本存在兼容的问题 2. bug fix 困难,不不易易升级 3. 不不易易通过扩展节点,来解决同步积压的问题
14 .1.3 阿⾥里里⽅方案
15 .Big DataHub Service 历史数据迁移 — Copy HFiles and load 优点 历史数据的迁移不不会访问HBase,只会和HDFS交互,降低对业务的影响 缺点 需要注意Region Split、Region Merge、Compaction 等操作的影响 实时增量量数据迁移 — Copy HLogs and restore 优点 易易扩展,不不同版本的适配 缺点 ⽇日志⽬目录不不停的发⽣生变化,需要保留留没有迁移的⽇日志
16 .Big DataHub Service
17 .⽅方案的优势 • 源与⽬目标异构,⽀支持跨版本的迁移,可以更更好地从1.x灰度升级到2.x • 更更好的稳定性,对源与⽬目标集群的影响尽量量降到最低 • 更更好的扩展性
18 .历史数据迁移的流程
19 .Compaction对历史数据迁移的影响
20 .Region Split对历史数据迁移的影响
21 .优化—数据本地化率
22 .优化—提升BulkLoad速度
23 .增量量数据迁移流程
24 .增量量数据迁移问题
25 .总结
26 .02 异构数据源迁移
27 .2.1 使⽤用场景
28 .异构数据源迁移的使⽤用场景 存放RDS的历史数据 • RDS -> HBase 关系数据库挑战 单机存储性能容易易达到瓶颈,传统DB拆分困难,⼯工作量量⼤大 且复杂,周期⻓长 • RDS -> Phoenix HBase的优势 对数据写⼊入⼗十分友好 数据完整性、强⼀一致性,易易扩容 数据的切分治理理全⾃自动 ⾮非常适合处理理历史数据的对账、历史数据的回 溯、历史数据离线分析 不不⽀支持跨⾏行行跨表事务
29 .2.2 迁移⽅方案