作者: 石烁

一、问题挑战

基线管理前,咱们的基线运维存在较多的问题,有两个数字很能阐明问题:

(1)月均匀起夜天数达80%以上。为什么会这么多呢,有许多因素,例如运维规模不明晰、基线挂载没有约束、集群资源严重等等。

(2)基线产出时刻较迟,经常无法在上班前产出,月均匀破线时长将近十小时。

要进行全链路基线管理,面对的挑战也很大,首要来自3方面:

  • 使命多:千亿级日志量,万级使命数,怎么收敛在可控的规模,怎么在出错后,能较快的重跑完?
  • 资源紧:凌晨资源水位95%以上,没有任何的 buffer 预留,也没有弹性资源可用;
  • 要求高:显微镜下作业,以 MUSE 产品为例,上百 BD,每天上班就看数据,他们的 KPI 考核就以 MUSE 的数据为准。

二、方针衡量

全链路基线管理的价值,总结起来首要有4个方面:

  • 服务于管理层,让管理层第一时刻能查看公司的运营数据。
  • 面向 C 端的事务数据,能够安稳、及时的让用户更友好的运用。
  • 能够树立数据开发团队的研发口碑和影响力。
  • 进步咱们数据开发同学的运维幸福度,从而进步组织的安稳性。

那么咱们用什么方针来衡量咱们的方针呢?咱们提出了两个数字来牵引:

  • 98%:全年可用天数达到98%以上,即服务不达标天数全年不超越7天。
  • 基线时刻:中心 SLA 基线产出时刻需满足事务要求。

三、举动计划

3.1 全体计划

根据上述问题挑战的分析,咱们对该问题的解题思路拆成3个方面:

  • 渠道基建:俗话说:“根基不牢,地动山摇”,首先要处理的就是渠道基建,例如怎么衡量咱们的集群资源是否饱和、咱们的行列怎么管控、产品功用怎么支撑等等。
  • 使命运维:全链路上,哪些使命是卡点?超长高耗资源使命是什么原因?哪些使命需求高确保?
  • 组织流程:有没有规范的运维 SOP ?跨团队的协作机制怎么树立?出问题后,怎么有用的盯梢以及避免再次发生?

用3个词归纳,就是稳基建、优使命、定规范。

网易云音乐数据全链路基线治理实践

3.2 稳基建

基建这块,咱们梳理了存在的问题:(1)行列运用不清晰:总共拆分了几十个行列,没有清晰的运用规范;(2)资源监控靠经验,无通用方针衡量;(3)集群 Namenode 压力大,负载高;(4)资源管控弱,遇到突发状况无法确保高优使命优先获取资源。

针对上述问题,咱们实施了如下的处理计划:

  • 集群安稳性建设:联合杭研,对负载高的 Namenode 集群进行 DB 拆分,搬迁上百张表;一起完善集群的监控,例如 nvme 盘夯住主动监控修正,dn/nn/hive 等节点监控优化快速发现问题。
  • 集群资源数字化:完结了一个高牢靠的资源运用模型,为集群资源管理员供给详细的数字化方针,以此能够快速判别当时集群的资源运用状况,处理当时集群资源分配不合理的状况。
  • 产品化:经过产品层面进步资源的运用功率,比方产品功用支撑按使命优先级获取行列资源,产品层面完结自助分析&补数功用凌晨禁用或有限度运用。
  • 行列资源运用指导主张:拟定行列的资源运用规范,清晰各个行列的作用,管控行列运用,规划高中初级行列。

3.3 优使命

针对云音乐体量大、事务多、团队广的数据使命特点,咱们在这块做的作业首要有:

  • 中心 ETL 引进流式处理,按小时预聚合数据,这样1小时内完结流量日使命批跑。
  • 使命优化:如 hive、spark2 版本晋级至 spark3 ,行列调整、sql 改造等等。
  • 打通表、使命、基线间的血缘关系,优化使命的调度时刻,减少使命依靠讹夺配。
  • 方针的反常监控,咱们除了传统的 dqc 外,还引进机器学习模型,处理云音乐 DAU 这类方针具有周期性、假日因素的监控难点。

其中,spark 晋级得到了杭研同学的贴身服务,取得了比较好的效果,hive 晋级到 spark3 完结大几百个使命的改造,节约60%资源。spark2 晋级 spark3,完结将近千个使命的改造,全体功能进步52%,文件数量减少69%。

方针的反常监控,引进的机器学习模型,咱们首要交融了 Holtwinter、XGBoost 算法,相比 dqc 的监控,咱们在 DAU 这个方针上,召回率进步74%,准确率进步40%,正确率进步20%;一起这里还有一个很大的作用是,它能感知事务的动态趋势性变化,并且布置也很简单,装备化接入。在产品层面,咱们也正在联合杭研产研同学,将该才能集成到数据质量中心。

网易云音乐数据全链路基线治理实践

3.4 定规范

在定规范方面,首要从两方面出发:运维的规模和运维规范。根据这两点,咱们展开了如下的作业:

  • 以中心产品+中心报表为载体,划定中心 SLA 运维基线+数仓中间基线,值班运维的规模从原先的上万个使命缩减到千级使命数。
  • 清晰使命责任人,处理之前事不关己高高挂起的问题,依照事务线区分,东西+人肉并行的方法将无归属的使命归属到责任人。
  • 拟定基线挂载准则,清晰约束条件、各人物责任等。
  • 拟定规范的运维 SOP ,严格运维军规和奖惩机制;一起跟杭研树立数据运维交警队,多行动确保反常状况的及时处理。
  • 树立官方运维消防群,第一时刻告诉问题和处理发展,处理信息传递不行高效,事务体感差的问题。
  • 与杭研、安全中台、前端等达到一致定见,引进 QA 作为公正的第三方,一致牵头处理问题的复盘和归因,确保问题的收敛。

四、效果展现

项目效果这块,首要分为事务效果、技能效果、产品效果三方面。

事务效果,现在咱们的中心基线凌晨就能跑完,均匀告警天数下降60%,中心基线破线次数0,完结全年可用天数98%以上的方针。

技能效果,咱们的《机器学习模型在云音乐方针异动猜测的使用实践》荣获了网易集团2022年度技能大会-开源引进奖。一起,咱们的集群资源数字化,经过计算出合理的弹性资源,确保集群服务或许使命呈现相关动摇或反常的状况下,不会形成很多使命延迟、中心基线破线等现象;其次根据资源的安全水位,为扩缩容供给量化的数据方针;最终集群、行列、使命资源透明化后,能够进步全体的资源利用率,降低成本。

网易云音乐数据全链路基线治理实践
网易云音乐数据全链路基线治理实践

产品层面,在杭研的鼎力支撑下,完结了行列资源的倾斜、自助取数主动查杀等功用,有用的进步了咱们的资源利用率。

五、后续规划

咱们将从产品、体系、事务、机制四个方面持续全链路基线管理的作业。

产品层面,咱们将引进 DataOps,增强使命的代码主动稽核才能,从开发、上线、批阅全流程做管控。优化基线预警,经过检测基线上使命调度时刻、依靠设置等,判别是否有优化空间或许反常,并做提示或告警。

体系层面,优化资源监控,支撑根据 Label 级别展现分配的物理 CPU、虚拟 CPU、内存等体系资源总量以及指定时段的实际 CPU、虚拟 CPU、内存运用量。一起在使命级的资源运用上,对装备的资源做合理性评价,从而供给优化主张。

事务层面,进步内容级监控掩盖率、准确度;打通线上服务的血缘,掩盖线上服务的使命。

机制完善,联合分析师、数据产品等团队,确认报表、数据产品的下线以及对应历史使命下线流程。

写在最终,管理是一件久久为功的工作,上述更多的是从方法论的视点在讲这件事,但是管理其实更考验执行,需求不断修炼内功,把工作做细,把细事做透。

本文发布自网易云音乐技能团队,文章未经授权禁止任何方式的转载。咱们常年招收各类技能岗位,假如你准备换作业,又刚好喜欢云音乐,那就参加咱们staff.musicrecruit@service.netease.com。