从基于规则的分类器演进:Netflix数据平台中机器学习驱动的自动修复

这是我们在Netflix关于利用数据洞察和机器学习(ML)来改进大数据工作的性能和成本效率方面的运营自动化工作系列的第一篇。运营自动化——包括但不限于自动诊断、自动修复、自动配置、自动调优、自动扩展、自动调试和自动测试——是现代数据平台成功的关键。在这篇博客文章中,我们介绍了我们的自动修复项目,该项目将当前使用的基于规则的分类器与 ML 服务集成,旨在无需人工干预即可自动修复失败的工作。我们已经在生产中部署了自动修复来处理 Spark 工作的内存配置错误和未分类错误,并观察到了其效率和效果(例如,自动修复 56%的内存配置错误并节省由所有错误导致的 50%的资金成本)以及进一步改进的巨大潜力。

引言

在网飞,每天在大数据平台的多个层运行着数十万的工作流和数百万的工作。鉴于这样一个分布式、大规模系统固有的广泛范围和复杂程度,即使失败的工作只占总工作量的一小部分,诊断和修复工作失败也可能造成相当大的运营负担。

为了高效地处理错误,网飞开发了一个名为 Pensive 的错误分类服务,它利用基于规则的分类器进行错误分类。基于规则的分类器根据一组预定义的规则对工作错误进行分类,并为调度程序决定是否重试工作以及工程师诊断和修复工作失败提供见解。

然而,随着系统规模和复杂性的增加,基于规则的分类器由于其对运营自动化的支持有限,特别是在处理内存配置错误和未分类错误方面,一直面临着挑战。因此,运营成本随着失败工作的数量线性增加。在某些情况下——例如,诊断和修复由内存不足(OOM)错误导致的工作失败——需要跨团队的共同努力,不仅涉及用户本身,还包括支持工程师和领域专家。

为了应对这些挑战,我们开发了一个名为“自动修复”的新功能,它将基于规则的分类器与 ML 服务集成。基于规则的分类器的分类,它使用 ML 服务来预测重试成功概率和重试成本,并选择最佳候选配置作为建议;以及一个配置服务来自动应用这些建议。其主要优点如下:

  • 集成智能。自动修复不是完全弃用当前的基于规则的分类器,而是将其与 ML 服务集成,以便能够利用两者的优点:基于规则的分类器为每个错误类别提供基于领域专家上下文的静态、确定性分类结果;ML 服务为每个工作提供性能和成本感知的建议,利用了 ML 的力量。通过集成智能,我们可以适当地满足修复不同错误的要求。

  • 完全自动化。错误分类、获取建议和应用建议的管道是完全自动化的。它将建议连同重试决定一起提供给调度程序,特别是使用在线配置服务来存储和应用推荐的配置。这样,在修复过程中不需要人工干预。

  • 多目标优化。自动修复通过同时考虑性能(即重试成功概率)和计算成本效率(即运行工作的资金成本)来生成建议,以避免盲目推荐资源消耗过度的配置。例如,对于内存配置错误,它搜索与工作执行的内存使用相关的多个参数,并推荐使失败概率和计算成本的线性组合最小化的组合。

这些优点已经通过修复 Spark 工作失败的生产部署得到了验证。我们的观察表明,自动修复可以通过在线应用推荐的内存配置成功修复约 56%的所有内存配置错误,无需人工干预;同时由于其能够推荐新配置以使内存配置成功并禁用未分类错误的不必要重试,降低了约 50%的成本。我们还注意到通过模型调整有进一步改进的巨大潜力

基于规则的分类器:基础和挑战

基础

图 1 说明了数据平台中的错误分类服务,即 Pensive。它利用基于规则的分类器,由三个组件组成:

  • 日志收集器 负责从不同的平台层拉取日志用于错误分类(例如,调度程序、工作编排器和计算集群)。

  • 规则执行引擎 负责将收集的日志与一组预定义的规则进行匹配。一条规则包括

  • (1)错误的名

  • 8
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

幻想多巴胺

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值