从腾讯云到阿里云,ES集群跨云迁移技术原理及最佳实践

云掣YunChe3个月前客户案例132

本文旨在通过一次腾讯云ES集群在线迁移至阿里云ES集群的成功客户案例,结合云掣在多次客户数据迁移过程中总结出的宝贵经验,与大家详细地分享快照迁移ES集群的技术原理和最佳实践,有助于满足各行业领域客户跨云迁移数据库的需求,希望本文的分享能够帮助到更多有需要的客户。


方案背景


北京一家以中小学培训为主的教辅公司,主营业务是中小学的线上培训,会涉及到诸多面向学生、家长、老师的服务,如课程教材的搜索、购买等。客户公司目前使用的数据库需要跨云,由阿里云RDS数据库通过VPN线路,将数据实时同步到腾讯云ES集群,其VPN带宽仅有200Mbps,会对服务器产生一定影响。为了更便于管理维护和节约成本,客户公司目前想要将腾讯云的七套ES集群全部迁移至阿里云ES,再进行VPN的退订。

 现存痛点

 涉及的数据量庞大

客户公司在腾讯云共有七套ES集群,其中包括一套测试环境和六套生产环境,最大数据量(包括系统索引)为4TB左右,最小数据量200GB左右。

 数据搬运过程复杂

客户公司所使用的腾讯云版本为6.4.3白金版,且其ES插件为开源插件,需要将数据进行梳理并完全迁移至目前购买的6.7.0版阿里云ES集群。

 跨云实施流程漫长


本次实施涉及到已经投入使用过的七套腾讯云ES集群,且均需要一对一迁移至阿里云ES集群。


 建设方案

 方案简介


基于以上场景需求,最终选择采用快照迁移的方式进行集群迁移,解决方案流程如图所示 。

图片

首先将腾讯云的ES集群全量快照备份至腾讯云COS中,待全量快照备份完成后,再使用阿里云的在线迁移服务功能,将腾讯云COS中的快照数据在线迁移至阿里云OSS。快照数据迁移完毕后,登录阿里云ES集群进行快照恢复操作即可,当所有的索引健康状态变为green,就表明快照恢复任务完成。
增量快照的备份恢复流程与全量快照的备份流程一致,区别仅在于,增量快照的备份恢复流程进行到最后一步快照恢复操作时,需要提前将阿里云ES集群中的索引状态修改为close,待快照数据全部恢复完成后,索引的健康状态会默认变为green。


 建设内容

Step1:环境准备


预先在阿里云购买可1:1安装的集群,即资源规格、集群插件与当前腾讯云ES集群一致的阿里云6.7.0版本ES集群,然后提前将腾讯云中全量的ES集群数据通过快照迁移的方式迁移到阿里云ES集群中。


Step2:代码验证


客户公司的研发人员对迁移后的集群数据进行灰度测试,包括客户端连接、写入、读取等功能的代码测试。


Step3:割接前的流程梳理确认

  1. 确定写入的链路,并读取业务方负责人信息;
  2. 准备好防止数据丢失和保障数据一致的预案;
  3. 明确回滚方案。

Step4:割接前的数据迁移

  1. 关闭阿里云ES集群的白名单,禁止研发测试的数据写入,保障集群环境单一可靠;
  2. 清空阿里云ES集群的脏数据、数据验证、历史快照的恢复和同步记录;
  3. 进行增量快照的恢复和同步,并保持验证,直至割接前;
  4. 如果第2步和第4步有重合的部分,为了防止数据污染,需要在阿里云ES集群中再进行一次历史数据清空和增全量恢复的动作。

Step5:割接开始

  1. 研发人员提前将配置文件的地址修改为阿里云ES集群连接内网的地址,并设置业务不上线生效;
  2. 关闭腾讯云ES集群的业务数据写入;
  3. 最后一次进行增量数据快照和恢复动作,将数据补齐;
  4. 开启阿里云ES集群的白名单;
  5. 设置切换配置生效,并进行上线动作,完成读写业务后,再切换到阿里云ES集群;
  6. 进行读写验证;
  7. 关闭腾讯云ES集群的白名单;
  8. 测试工程师进行回归测试

Step6:回滚

  1. 将阿里云ES集群的白名单关闭,停止写入数据;
  2. 恢复腾讯云ES集群的白名单,并将配置文件的地址改回腾讯云ES集群生效;
  3. 回滚方案生效,业务数据(kafka、mysql)重新消费写入腾讯云ES集群。



 知识拓展

 快照备份


ES集群基于快照的迁移方式
需通过 snapshot api 接口进行迁移,基本原理是从源ES集群创建索引快照,然后在目标ES集群中进行快照恢复。通过snapshot api方式进行数据迁移时,特别需要注意ES集群的版本,目标ES集群的主版本号要大于等于源ES集群的主版本号。
例如:6.x中的6为主版本号,那么此集群所创建的快照就不能在7.x版本的集群中恢复。
快照迁移支持索引数据的增量备份和恢复迁移
由于二次快照是在前一次快照的索引数据基础之上,再增加新数据的快照,包括了索引数据的增、删、改等新变动。那么在二次快照之后,新的ES集群实例恢复后,新数据与源ES集群实例数据将保持一致。
二次快照备份恢复的时长
由于二次快照的数据量低于首次快照,所以耗时会比首次快照备份的时间短。


 logstash迁移同步


logstash的版本
应与目标ES集群的主版本号相同。例如:目标ES集群为6.8.2版本,则logstash也需要使用6.8版本。
索引type的问题
不同版本的ES集群对索引type的约束也不同,所以在跨大版本迁移ES集群时,可能会出现因为索引type而导致目标集群写入失败等情况。这是因为logstash的增量数据同步基于时间字段,所以要求字段类型为@timetamp时,才能按照时间同步数据。若时间字段为long、text等非标准的类型,则无法按照时间同步数据。
硬件和网络配置要求
logstash对网络带宽和服务器CPU、内存、磁盘的要求较高,如果想实时同步大量数据,就必须提升硬件和网络配置。


 总结


此次迁云方案效率实现了业务停机时间的最小化,迅速响应了客户公司的需求,并确保了迁移前后数据的一致性。


此外,通过安全精准的操作,大大降低迁云风险成功将全量+增量的业务数据从腾讯云ES集群迁移至阿里云ES集群环境中,有效避免了数据丢失或遗漏等问题的发生


相关文章

MSP服务为客户交出满意答卷

MSP服务为客户交出满意答卷

运维背景浙江创创鱼信息科技有限公司与我们MSP运维团队已合作了三年以上,随着创创鱼业务系统的稳步发展,业务规模和数据量持续增长,对IT运维体系和能力的要求也不断提高。在MSP技术团队和创创鱼研发团队的...

知名证券机构核心大数据平台升级之路

知名证券机构核心大数据平台升级之路

项目背景    在金融领域中,数据处理一直是IT系统中非常重要的一部分,证券发行、登记、托管、交易、结算的各个环节都有大量的数据产生。Hadoop作为海量数据处理的关键技术框架,自...

混合云网络建设

混合云网络建设

项目背景    云计算经过十余年突飞猛进的发展,已经迎来新的黄金十年,进入普惠发展期。据相关机构调研,随着产业结构持续优化,服务部署形态趋于多元化,融合了私有云安全性和公有云开放性...

知名房企数据化可观测运维实践

知名房企数据化可观测运维实践

项目背景    伴随着“云+”时代的到来,通过上云实现企业数字化转型已经成为众多行业的共识。工信部发布的《推动企业上云实施指南(2018—2020年)》一文中提出了企业上云的工作目...

全面提升|支付企业系统上云实践

全面提升|支付企业系统上云实践

近年来,得益于中央政府一系列的扶持政策以及云计算、大数据和AI等技术在支付领域的深化应用,面向小微企业、个体工商户等群体的普惠支付有了极大的发展。 某支付机构基于创新科技和完善风控能力,聚焦...

案例分享|某医院数据上云性能优化

案例分享|某医院数据上云性能优化

01 前言 之前在和小伙伴在做技术分享的时候,分享了他们做的某医院数据上云方案。该医院因为数据延迟问题,病人无法及时看到检验报告。当时大致了解了一下这个案例的情况:客户的数据是存储...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。