如果您想要将自建HBase或阿里云HBase中的数据迁移或同步至Lindorm宽表引擎,可以通过LTS服务完成存量数据迁移和实时数据同步。本文介绍HBase数据同步与迁移的使用场景、功能列表、迁移优势、使用限制以及迁移任务等操作。
使用场景
- 自建上云:将HBase数据迁移至Lindorm。 
- 跨地域迁移:例如从青岛机房迁移到北京机房。 
- 业务拆分:将部分业务迁移到新的集群。 
功能及优势
功能说明
- 支持HBase 1.x、2.x 版本不停机迁移至Lindorm。 
- 支持表结构迁移、实时数据同步、全量数据迁移。 
- 支持整库迁移、Namespace迁移、表级别迁移。 
- 迁移过程中支持表重命名。 
- 迁移支持指定时间范围、Rowkey范围、指定列。 
- 提供OpenAPI,支持调用API创建迁移任务。 
迁移优势
- 不停服数据迁移,同时完成历史数据迁移、实时增量数据的同步。 
- 迁移过程中,自建HBase不会和源集群的HBase交互,只读取源集群的HDFS,将有效减少对源集群在线业务的影响。 
- 文件层数据拷贝比API层数据迁移效率更高,通常能节省超过50%的流量。 
- 单个节点迁移速度可达到150 MB/s,节点数支持水平扩展,可满足TB、PB级别的数据迁移。 
- 有完善的错误重试机制、实时监控任务速度和进度,支持任务失败报警。 
- 自动同步Schema,保证分区一致。 
使用限制
- 不支持迁移至自建HBase。 
- 不支持开启Kerberos集群。 
- 不支持单节点云HBase实例。 
- 由于网络原因,不支持经典网络下的云HBase实例。 
- 不支持将数据迁移或同步至Lindorm单机版实例。 
- 增量数据同步基于HBase WAL实现异步数据同步,Bulkload的数据和不写WAL的数据将不会被同步。 
- 仅3.8.10及以上版本的LTS支持迁移表中的搜索索引。相关功能限制和注意事项,请参见搜索索引常见问题。 
注意事项
- 迁移前请确认目标集群的HDFS容量,防止迁移过程中出现容量写满的情况。 
- 如果源集群为自建HBase或阿里云HBase集群,增量同步提交前,建议将源集群的日志保留时间设置为12小时以上,为同步过程中可能出现的异常预留充足的处理恢复时间。修改方式:修改 - hbase-site.xml文件中hbase.master.logcleaner.ttl参数的值,并在修改后重启HMaster。hbase.master.logcleaner.ttl参数的单位为毫秒(ms),设置时需注意单位转化,例如,- hbase.master.logcleaner.ttl=43200000表示设置日志保留时间为12小时。说明- 如果源集群为Lindorm集群,无需修改日志保留时间。 
- 客户无需在目标集群创建表,LTS同步服务会自动创建和源集群一样的表,包括分区的信息。客户自建的目标表可能会和源表分区很不一致,这可能会导致迁移完成之后,目标表会进行频繁的split、compaction,如果表的数据量十分庞大,可能会导致这个过程非常耗时。 
- 如果源表带有coprocessor,在创建目标表的时候需要确保目标集群包含coprocessor对应的JAR包。 
- 开启增量同步后,如果不消费数据,默认日志会保留48小时,超时后订阅关系自动取消,保留的数据自动删除。 
前提条件
- 已检查源集群、目标集群、LTS之间的网络连通性。 
- 已添加HBase、Lindorm数据源。如何添加,请参见添加HBase数据源和添加Lindorm宽表数据源。 
创建任务
查看任务及任务详情
- 在左侧导航栏中,选择查看任务。 
- 单击需要查看的任务名,查看对应任务的执行情况。 
切流
- 等待全量任务迁移完成,增量迁移的时延比较小(几秒或者几百毫秒)。 
- 开启LTS数据抽样校验,对于大表的抽样校验,抽样比例不宜过大,避免对在线业务产生影响。 
- 业务验证。 
- 业务切流。 
常见问题
什么场景会导致“不消费数据”?
没有终止任务的前提下直接释放LTS集群、同步任务暂停、任务异常阻塞。
迁移任务运行失败应该如何处理?
导致迁移任务失败的可能原因很多,例如网络不稳定、服务冲突等。LTS自带重试机制,在任务失败后会自动重试。如果重试后依然失败,请联系Lindorm技术支持(钉钉号:s0s3eg3)。
相关文档
以下是HBase数据同步或迁移的最佳实践,您可以在配置任务或执行任务时进行参考。