摘要:2021年4月21日,中国太平洋保险集团联合华为云完成了全球首例大数据集群跨多版本的大数据集群滚动升级。

本文分享自华为云社区《华为云FusionInsight助力太保跨多版本升级业务0中断》,作者: 沙漏 。

2021年4月21日,中国太平洋保险集团联合华为云完成了全球首例大数据集群跨多版本的大数据集群滚动升级,突破传统方案需离线停机多次升级模式,一次性将核心现网集群版本由FusionInsight HD C70升级到FusionInsight MRS 8.0.2,横跨C80、6.5.1两个版本,同时完成了大数据集群从物理机向云服务的模式转变,实现该案例在金融同业首例突破,树立同业新标杆。经过为期两周的升级实施过程操作,实现太保上层业务无感的平滑滚动升级,全程集群作业无中断、性能无影响。本次跨版本滚动升级的成功对金融科技领域意义重大,标志着中国太平洋保险为金融同业树立了大数据服务跨多版本升级、业务连续性和可持续演进的新建设标杆。

一、项目背景

中国太平洋保险集团从2017年选择华为云FusionInsight构建保险大数据平台。随着太保与华为云合作的持续深入,其内部主要业务系统都已使用华为云大数据平台。但是早期各业务系统都建设了独立的大数据集群,数据无法互通,存在数据冗余,且多集群造成维护难问题。截止升级前已建设18套大数据集群,以FusionInsight HD C70版本为主。

随着太保业务的高速发展,对大数据平台的统一管理、数据共享、升级演进有了新的诉求,希望将现网18套生产集群进行统一升级和归并,同时面向未来提供大数据集群可持续演进的能力。

为此,太保联合华为云,决定将现有18套大数据集群,由FusionInsight HD 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构成,主要执行了以下技术保障:

  • 依托协议同步、元数据映射转换、API封装转换等方式,解决了社区协议不同、元数据格式不同、API变化等导致的兼容性问题,保障了滚动升级过程中低版本的组件客户端的正常使用;

  • 针对HDFS社区新版本升级过程中的文件未删除问题,额外实现了trash目录自动清理,将逻辑删除转换为物理删除,并增补了旧版本定期清理trash目录的工具。确保了基础设施资源利用的有效性,降低存储成本;
  • 针对组件升级前后性能状况、升级时长、升级过程中和事后可能出现的瓶颈点等问题,做了相应架构调整及优化,助力实现滚动升级的全局可控、全程无感、全面无误;
  • 运维管理方面,项目组针对性的研发了升级管理服务界面,可以端到端、分步骤地完成滚动升级,便于查看滚动升级状态,实现组件级控制。为了降低在升级过程中对关键任务服务连续性的影响,项目实现了按升级批次暂停的功能,有助于在关键作业或者作业高峰时段,通过暂停升级进行风险规避,确保业务无影响。此外,为避免各种突发事件中断升级进程,项目实现了故障节点隔离能力,在故障发生时,可以跳过对应节点的升级动作,保障了故障处理和升级的同步进行。

2.3 组织保障

项目启动后,成立了以太保相关领导为项目经理,以华为交付和研发、太保的研发和运维为成员的联合项目组。本次升级面向的应用部门多达20+,平台涉及业务数量多且复杂。为保证滚动升级成功且整个过程中业务要做到0中断,在升级前、中、后的6个月里由华为方主导,客户各个业务部门紧密配合,项目组制定了周密的组织保障制度。

太保升级项目组织保障

  1. 升级前准备阶段:在项目组整体协调和华为的研发支撑下,完成了70+应用代码改造及验证,并输出测试报告;为充分识别风险,华为主动提供测试环境硬件资源,项目组联合各应用部门,进行了3次升级演练的联合测试;为达成升级前置条件,华为专家调研指导,有效的进行了集群小文件合并、客户端整改、集群多次巡检、升级方案的反复评审改进等升级前准备工作;
  2. 升级过程保障:在升级过程的两周期间,华为安排研发、方案等专家现场保障。华为协同太保联合项目组制定了24小时排班保障、联合项目组和应用部门间的信息反馈及沟通(滚动升级中每组件升级完都需业务验证及确认)、升级操作的联合项目组授权、升级操作的录屏监控等制度;
  3. 升级后观察:滚动升级完成后,联合项目组协调各应用部门进行应用业务验证,且已全部输出业务运行正常报告。后华为项目组后续持续观察两周时间,确认平台及应用运行正常后进行了本次升级提交。

三、总结与展望

太平洋保险联合华为公司完成的本次金融业首家大数据集群跨多版本的滚动升级,实现了上层业务无感知、全程集群作业无中断、性能无影响,切实保障了客户的核心利益,也树立了金融同业新标杆。

随着数字化技术的不断迭代升级,将改变传统保险运营模式,未来主要会呈现出以下三个方向的变革:

  1. 实现从大数到小数,加强风险数字刻画,从过去的大数概率到小数更加敏锐的感知,将从根本上改变传统的运营模式;
  2. 从实体到虚拟,数据已是重要的生产资料,通过海量数据识别和评估新型资产的风险,将成为保险业的核心能力;
  3. 从保险到治理,数字化将提升保险公司自身风险管理能力,将更多的参与到国家、城市的风险治理当中,逐步从损失补偿到风险管理和治理。

面向未来,太平洋保险将携手华为持续创新,不断完善风险生态,贯彻"以客户需求为导向"的战略,建设"专注保险主业,价值持续增长,具有国际竞争力的一流保险金融服务集团"。

点击关注,第一时间了解华为云新鲜技术~

大数据集群跨多版本升级、业务0中断,只因背后有TA的更多相关文章

  1. centos7 ambari2.6.1.5+hdp2.6.4.0 大数据集群安装部署

    前言 本文是讲如何在centos7(64位) 安装ambari+hdp,如果在装有原生hadoop等集群的机器上安装,需要先将集群服务停掉,然后将不需要的环境变量注释掉即可,如果不注释掉,后面虽然可以 ...

  2. 全网最详细的大数据集群环境下多个不同版本的Cloudera Hue之间的界面对比(图文详解)

    不多说,直接上干货! 为什么要写这么一篇博文呢? 是因为啊,对于Hue不同版本之间,其实,差异还是相对来说有点大的,具体,大家在使用的时候亲身体会就知道了,比如一些提示和界面. 安装Hue后的一些功能 ...

  3. CDH版本大数据集群下搭建Hue(hadoop-2.6.0-cdh5.5.4.gz + hue-3.9.0-cdh5.5.4.tar.gz)(博主推荐)

    不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...

  4. Ubuntu14.04下Ambari安装搭建部署大数据集群(图文分五大步详解)(博主强烈推荐)

    不多说,直接上干货! 写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentO ...

  5. 关于在真实物理机器上用cloudermanger或ambari搭建大数据集群注意事项总结、经验和感悟心得(图文详解)

    写在前面的话 (1) 最近一段时间,因担任我团队实验室的大数据环境集群真实物理机器工作,至此,本人秉持负责.认真和细心的态度,先分别在虚拟机上模拟搭建ambari(基于CentOS6.5版本)和clo ...

  6. Linux- AWS之EC2大数据集群定时开关机

    众所周知,云计算就是在计算你的钱,每当ec2开起来就要开始计费.当用户购买了一个庞大的与服务器做一个集群,尤其是用来做大数据集群,这些服务器的配置相当高,每台服务器所需要的费用不菲.其实在很多时候没能 ...

  7. 基于Docker搭建大数据集群(七)Hbase部署

    基于Docker搭建大数据集群(七)Hbase搭建 一.安装包准备 Hbase官网下载 微云下载 | 在 tar 目录下 二.版本兼容 三.角色分配 节点 Master Regionserver cl ...

  8. 基于Docker搭建大数据集群(一)Docker环境部署

    本篇文章是基于Docker搭建大数据集群系列的开篇之作 主要内容 docker搭建 docker部署CentOS 容器免密钥通信 容器保存成镜像 docker镜像发布 环境 Linux 7.6 一.D ...

  9. 大数据集群环境 zookeeper集群环境安装

    大数据集群环境 zookeeper集群环境准备 zookeeper集群安装脚本,如果安装需要保持zookeeper保持相同目录,并且有可执行权限,需要准备如下 编写脚本: vi zkInstall.s ...

  10. 大数据集群Linux CentOS 7.6 系统调优篇

    大数据集群Linux CentOS 7.6 系统调优篇 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.设置主机hosts文件 1>.修改主机名 [root@node100 ...

随机推荐

  1. 一步步带你剖析Java中的Reader类

    本文分享自华为云社区<深入理解Java中的Reader类:一步步剖析>,作者:bug菌. 前言 在Java开发过程中,我们经常需要读取文件中的数据,而数据的读取需要一个合适的类进行处理.J ...

  2. react 16.3生命周期更新解析

    React v16.3虽然是一个小版本升级,但是却对React组件生命周期函数有巨大变化. 文章梗概 新版本+2-3个生命周期. 为什么增加那2个生命周期? 为什么减去之前3个生命周期? 相关知识延伸 ...

  3. OpenWrt主题在菜单中不显示

    问题: 路径中有对应的主题,但是make menuconfig中不显示 原因: 需要建立软连接 1. 在路径 SDK-DR232-20221220/package/feeds/luci 中运行 ls ...

  4. JAVA类的加载(5)——总结

    总结一下:1.类加载(初始化) 包括加载(类的class文件读入内存,并为之创建一个java.lang.Class对象,由类加载器完成).连接(把类的二进制数据合并到JRE中).初始化(对静态属性进行 ...

  5. JavaScript 语法:运算符号

    作者:WangMin 格言:努力做好自己喜欢的每一件事 JavaScript要进行各种各样的运算,就要使用不同的运算符号. JavaScript 算数运算符 算数运算符用于对数字执行算数运算,分别有以 ...

  6. 高精度减法(C语言实现)

    高精度减法(C语言实现) 介绍 众所周知,整数在C和C++中以int ,long,long long三种不同大小的数据存储,数据大小最大可达2^64,但是在实际使用中,我们仍不可避免的会遇到爆long ...

  7. JS 树形结构 根据子节点找到所有上级

    需求:是根据子菜单找到所有他上级菜单 进行面包屑的回显 要求子节点里包含父级id 代码如下:     parentTree(arr, id) {   //arr 所有的树数据 id 某个子节点的id  ...

  8. 中龙技术 | HSCSEC CRY + MISC WP

    CRYPTO[HSC-1th] Easy SignIn 5445705857464579517A4A48546A4A455231645457464243566B5579556C7053546C4A4E ...

  9. centos 7.9安装Prometheus

    一.Prometheus功能 Prometheus 在系统监控和警报方面非常强大,它适用于多种应用场景.以下是一些常见的 Prometheus 应用场景,以及具体的例子: 性能监控:Prometheu ...

  10. java-导出pdf

    前言:   纯代码画pdf格式 <!-- iText PDF --> <dependency> <groupId>com.itextpdf</groupId& ...