大数据集群跨多版本升级、业务 0 中断,只因背后有 TA
摘要:2021 年 4 月 21 日,中国太平洋保险集团联合华为云完成了全球首例大数据集群跨多版本的大数据集群滚动升级。
本文分享自华为云社区《华为云FusionInsight助力太保跨多版本升级业务0中断》,作者: 沙漏 。
2021 年 4 月 21 日,中国太平洋保险集团联合华为云完成了全球首例大数据集群跨多版本的大数据集群滚动升级,突破传统方案需离线停机多次升级模式,一次性将核心现网集群版本由 FusionInsightHD C70 升级到 FusionInsightMRS 8.0.2,横跨 C80、6.5.1 两个版本,同时完成了大数据集群从物理机向云服务的模式转变,实现该案例在金融同业首例突破,树立同业新标杆。经过为期两周的升级实施过程操作,实现太保上层业务无感的平滑滚动升级,全程集群作业无中断、性能无影响。本次跨版本滚动升级的成功对金融科技领域意义重大,标志着中国太平洋保险为金融同业树立了大数据服务跨多版本升级、业务连续性和可持续演进的新建设标杆。
一、项目背景
中国太平洋保险集团从 2017 年选择华为云 FusionInsight 构建保险大数据平台。随着太保与华为云合作的持续深入,其内部主要业务系统都已使用华为云大数据平台。但是早期各业务系统都建设了独立的大数据集群,数据无法互通,存在数据冗余,且多集群造成维护难问题。截止升级前已建设 18 套大数据集群,以 FusionInsight HD C70 版本为主。
随着太保业务的高速发展,对大数据平台的统一管理、数据共享、升级演进有了新的诉求,希望将现网 18 套生产集群进行统一升级和归并,同时面向未来提供大数据集群可持续演进的能力。
为此,太保联合华为云,决定将现有 18 套大数据集群,由 FusionInsightHD C70 版本统一升级到 MRS8.0,升级的主要目标:
通过对原集群升级归并,统一为一套大集群,通过资源整合,提高资源利用率;
统一到 MRS 平台版本资源监控更完善,定位问题更准确;
升级到云平台,可以按需灵活调配资源,实现可演进的湖仓一体架构,扩展其他高阶服务。
二、项目内容
2.1 技术挑战
太保大数据集群按需部署了 HBase、Hive、HDFS、ZooKeeper、YARN、Oozie、Hue、Spark 等各类组件。
此外,集群中每日有上万作业的执行,也为无感知的滚动升级加大了难度。主要挑战有以下几点:
1. Hadoop 组件内核由 X 到 3.X 的跨大版本升级中,社区仅提供了 HDFS 的滚动升级能力,YARN 的社区原生目标版本由于与原版本协议不同,无法支持滚动升级;
2. 社区原生版本的 HDFS 在升级过程中,删除的文件并不会物理删除,而是移动到 trash 目录,这一处理对大容量集群的滚动升级造成存储资源压力,阻碍了剩余信息保护,如果不能及时清理会导致爆盘问题;
3. Hive 组件内核由 X 到 3.X 的跨大版本升级中,由于元数据前后格式不兼容、API 前后版本有变化、部分语法不兼容等问题,导致社区原生版本无法支持滚动升级;
4. HBase 组件内核由 X 到 2.X 的跨大版本升级中,API 前后版本存在较大的变化,导致社区原生版本无法支持滚动升级;
5. 每日上万任务量,滚动升级期间如何保障平稳运行,尤其是损益分析、减值测算等核心场景;
6. 600+节点的大数据集群环境下,需要确保在升级过程中突发状况,快速应对硬件(磁盘、内存等)故障,不影响升级;
7. 70+业务系统,数百个业务在此集群上运行,滚动升级过程中需要保证每一个业务运行不受损。
2.2 技术保障
滚动升级就是借助于 FusionInsight MRS 的高可用机制、主备模式、多副本机制、机架策略等在不影响集群整体业务的情况下,一次升级/重启部分节点。循环滚动,直至集群所有节点升级到新版本。
下图为已 HDFS 组件滚动升级示例:
为应对上述技术挑战项目组建了滚动升级小组,由社区 PMC、社区 Commiter、版本 Developer 构成,主要执行了以下技术保障:
1. 依托协议同步、元数据映射转换、API 封装转换等方式,解决了社区协议不同、元数据格式不同、API 变化等导致的兼容性问题,保障了滚动升级过程中低版本的组件客户端的正常使用;
2. 针对 HDFS 社区新版本升级过程中的文件未删除问题,额外实现了 trash 目录自动清理,将逻辑删除转换为物理删除,并增补了旧版本定期清理 trash 目录的工具。确保了基础设施资源利用的有效性,降低存储成本;
3. 针对组件升级前后性能状况、升级时长、升级过程中和事后可能出现的瓶颈点等问题,做了相应架构调整及优化,助力实现滚动升级的全局可控、全程无感、全面无误;
4. 运维管理方面,项目组针对性的研发了升级管理服务界面,可以端到端、分步骤地完成滚动升级,便于查看滚动升级状态,实现组件级控制。为了降低在升级过程中对关键任务服务连续性的影响,项目实现了按升级批次暂停的功能,有助于在关键作业或者作业高峰时段,通过暂停升级进行风险规避,确保业务无影响。此外,为避免各种突发事件中断升级进程,项目实现了故障节点隔离能力,在故障发生时,可以跳过对应节点的升级动作,保障了故障处理和升级的同步进行。
2.3 组织保障
项目启动后,成立了以太保相关领导为项目经理,以华为交付和研发、太保的研发和运维为成员的联合项目组。本次升级面向的应用部门多达 20+,平台涉及业务数量多且复杂。为保证滚动升级成功且整个过程中业务要做到 0 中断,在升级前、中、后的 6 个月里由华为方主导,客户各个业务部门紧密配合,项目组制定了周密的组织保障制度。
太保升级项目组织保障
1. 升级前准备阶段:在项目组整体协调和华为的研发支撑下,完成了 70+应用代码改造及验证,并输出测试报告;为充分识别风险,华为主动提供测试环境硬件资源,项目组联合各应用部门,进行了 3 次升级演练的联合测试;为达成升级前置条件,华为专家调研指导,有效的进行了集群小文件合并、客户端整改、集群多次巡检、升级方案的反复评审改进等升级前准备工作;
2. 升级过程保障:在升级过程的两周期间,华为安排研发、方案等专家现场保障。华为协同太保联合项目组制定了 24 小时排班保障、联合项目组和应用部门间的信息反馈及沟通(滚动升级中每组件升级完都需业务验证及确认)、升级操作的联合项目组授权、升级操作的录屏监控等制度;
3. 升级后观察:滚动升级完成后,联合项目组协调各应用部门进行应用业务验证,且已全部输出业务运行正常报告。后华为项目组后续持续观察两周时间,确认平台及应用运行正常后进行了本次升级提交。
三、总结与展望
太平洋保险联合华为公司完成的本次金融业首家大数据集群跨多版本的滚动升级,实现了上层业务无感知、全程集群作业无中断、性能无影响,切实保障了客户的核心利益,也树立了金融同业新标杆。
随着数字化技术的不断迭代升级,将改变传统保险运营模式,未来主要会呈现出以下三个方向的变革:
1. 实现从大数到小数,加强风险数字刻画,从过去的大数概率到小数更加敏锐的感知,将从根本上改变传统的运营模式;
2. 从实体到虚拟,数据已是重要的生产资料,通过海量数据识别和评估新型资产的风险,将成为保险业的核心能力;
3. 从保险到治理,数字化将提升保险公司自身风险管理能力,将更多的参与到国家、城市的风险治理当中,逐步从损失补偿到风险管理和治理。
面向未来,太平洋保险将携手华为持续创新,不断完善风险生态,贯彻"以客户需求为导向"的战略,建设"专注保险主业,价值持续增长,具有国际竞争力的一流保险金融服务集团"。
版权声明: 本文为 InfoQ 作者【华为云开发者社区】的原创文章。
原文链接:【http://xie.infoq.cn/article/8c1159a290ce1e71865202f70】。文章转载请联系作者。
评论