近日,山东移动完成了 PB 级数据仓库跨机房的搬迁及扩容,项目实施做到了业务应用的代码零改动,通过修改 JDBC 的连接串,重启服务就完成了系统割接,真正意义上做到了经分大数据数据主仓完全业务无感知的跨数据中心搬迁工作,目前扩容后系统已良好运行超过 30 天。
项目背景
2012 年 7 月开始山东移动经分系统开始采用 GBase 8a MPP 数据库对 DB2 进行全面替换,经过几期建设, 2020 年逐步建成大数据开放运营平台,通过 MPP 数据库服务能力为大数据平台数据对内对外服务提供助力。
随着承载量的剧增, 2021 年开始云经分数据主仓的 72 节点集群存储超过 90% ,存储长时间高水位可能引发频繁的硬件故障,同时数据库整体性能也会有所下降,这就要求运维团队随时监控集群情况,一方面是运维投入的增加,一方面是影响新的业务开发,所以集群扩容成为亟待解决的问题。
山东移动第五数据中心是省公司最早建设的数据中心之一,目前已饱和使用,无剩余空间用于业务扩容,所以只能将大数据平台进行跨机房搬迁和扩容。经分大数据主仓库 PB 级的数据量、 15 万张的表、每日库内超过 3000 个作业以及日加工时间超过 16 个小时等客观情况都为迁移工作带来巨大挑战。
解决方案
经过周密计划, GBASE 制定了 2 步骤的搬迁扩容方案:
1 、基于 GBase 8a 镜像集群实现数据复制,进行机房搬迁
通过 GBase 8a MPP 产品 V95 版本搭建跨数据中心的双活集群架构,在第六数据中心创建虚拟集群 VC2 ,要求 VC2 与第五数据中心 VC1 的集群规模、分片个数、 distribution 和 hash map 完全相同,创建 VC2 之后通过镜像关系开始集群的全量数据同步,同时上层应用修改 JDBC 连接,开始访问 VC2 的 Coordinator 节点,此时 VC1 的 datanode 节点仍然作为生产数据集群对外提供数据服务。
当数据同步完成后将 VC2 的 Coordinator 向下访问数据集群修改为 VC2 的 datanode, 最终完成数据主仓的跨数据中心迁移工作。
此方案做到了业务应用的代码零改动,通过修改 JDBC 的连接串,重启服务就完成了系统割接,真正意义上做到了经分大数据数据主仓完全业务无感知的跨数据中心搬迁工作。
2 、对搬迁完成后的集群进行节点扩容,提升大数据平台的存储容量及计算能力
最终通过 7 天时间的数据重分布完成了 PB 级数据由 72 节点到 158 节点的扩容工作,目前扩容后系统已良好运行超过 30 天。
价值体现
通过 GBase 8a MPP V95 版本的虚拟集群功能,在虚拟集群中将两个同样规模和数据分布策略的子集群建立镜像关系来构建实时数据复制,可以构建大数据业务平台实时双活的容灾方案。
通过山东移动大数据平台主数据仓库的成功迁移,验证了通过虚拟集群搭建双活或容灾架构的可行性,为其他预计搭建双活或容灾集群的省公司积累了丰富经验,也证明了 GBase 8a MPP 的产品力和南大通用的自主研发能力,为进一步助力中国移动数字化全面转型添砖加瓦。