大数据集群机房搬迁数据迁移

本文详细介绍了大数据集群机房搬迁的过程,包括数据迁移的思路和方案。迁移过程中,采用全量拷贝结合增量拷贝策略,并对HDFS和HBase数据进行了分开迁移。针对HDFS使用distcp,而HBase则利用snapshot和replication技术。迁移后,通过一致性检查确保新老集群数据的一致性,涉及HDFS和Hive的数据量、文件数和SQL结果的对比。
摘要由CSDN通过智能技术生成

【一、背景】

按照中心总体计划,目前部署在生产区的运营大数据集群需要搬迁至万国机房。

本次采用的搬迁的方案是通过万国机房的72台物理主机上新建运营大数据集群,老集群应用数据同步至新集群的方式,之后应用进行迁移。确保数据不丢失,应用无感知。

本次变更完成新集群的搭建以及存量数据的同步。本文只对数据同步方案进行展开。

【二、迁移思路】

1. 搭建新集群

2. 将老集群中的数据全量拷贝到新集群

3. 由于在进行全量拷贝过程中,老集群数据量较大,需要的时间比较长,老集群又会有新的数据被写入,因此需要进行增量拷贝

4. 增量拷贝的数据量相对比较少,需要的时间比较短。可以迭代多次增量拷贝,直到最终增量拷贝的时间到了一个可接受的时间范围。

5. 选择合适的时间点,老集群停止应用,确保没有新数据写入,进行增量拷贝。(这里如果存在应用数据补录机制,也可以通过数据补录功能,将数据进行完善)

6. 增量拷贝完成之后,理论上新老集群数据一致,进行数据一致性检查

7. 进行集群切换

8. 业务端可以重写最近几天的数据,以确保数据是正确的

【三、迁移方案】

运营大数据集群上的组件包括hdfs、hbase、hive、impala、spark,因此计划对HDFS和HBase数据进行分开迁移。

这里要提一下,似乎也可以使用hadoop distcp方式复制HDFS上整个/hbase目录以备份数据。但是不推荐这种方案,原因有三:

1、该操作在复制文件的过程中会忽略文件的状态;

2、用户可能在memstore的刷写操作过程中复制数据数据,这与会导致数据中混杂新旧多种文件;

3、该操作会导致用户忽略在内存中还没有被刷写的数据。

低层次复制操作只操作那些已经持久化的数据。一种解决办法是禁止对这张表的写操作,明确地刷写这张表的内存,然后再复制HDFS。然而禁止对表的操作无法保证对业务的无感透明,因此对hbase的迁移采用snapshot方案。

【snapshot介绍】

快照是对表当前元数据做一个克隆,因为不实际拷贝数据,所以整个过程是很快的。主要分三个步骤:

1、加锁:对象是regionserver的memstore,目的是禁用在创建快照过程中的DML操作;

2、刷盘:刷盘是将当前还在memstore中的数据刷写在HDFS上,以保证数据的完整性;

3、创建指针:创建对HDFS文件的指针

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值