博客
关于我
如何使用 AutoPilot 对作业自动调优?
阅读量:132 次
发布时间:2019-02-26

本文共 1360 字,大约阅读时间需要 4 分钟。

AutoPilot引导:Flink作业自动调优实践指南

作为阿里巴巴高级技术专家,吕文龙(龙三)带我们深入探讨如何利用AutoPilot实现Flink作业的自动调优,解决开发和运维中的关键难题。


AutoPilot简介

解决的难题

  • 资源调优难,开发和运维成本高

    Flink作业长时间运行,资源需求动态变化,传统调优方式耗时且成本高。Flink SQL的简化开发使得调优难度上升,尤其是对于底层实现不透露的用户。

  • 资源利用率低,执行成本高

    未动态优化的作业通常以峰值资源配置运行,导致非高峰时期资源浪费,增加运行成本。

  • AutoPilot旨在通过自动化、自适应的资源调优,降低Flink使用门槛并减少成本。

    系统架构

    AutoPilot属于Flink管控服务,主要包含异常检测和解决两个模块:

    • 异常检测:通过实时订阅Flink事件信息,识别资源异常。
    • 异常解决:动态更新作业资源配置,触发作业重启。

    目前支持三大功能:

  • 根据负载动态调整并发度和TM数量。
  • 根据TM内存利用率调整资源。
  • 识别资源异常并调优。

  • AutoPilot实操演示

    配置说明

    AutoPilot支持对单个作业独立配置,动态更新无需中断运行。

    模式选择

    • Disabled:无监控和调优。
    • Active:启动监控,必要时自动调优。
    • Monitoring:启动监控,需手动确认调优建议。

    策略选择

    AutoPilot提供五种策略:

  • Cpu-based:基于CPU利用率调整并发度。
  • Source-delay-based:基于source延迟调整,并支持多源。
  • Slot-utilization-based:基于slot利用率,需等待FLIP-27完成后使用。
  • Memory-utilization-based:基于TM内存利用率调整。
  • Job-exception-based:识别资源异常并调优。
  • 冷却时间设置

    Active或Monitoring模式需设置冷却时间(两次rescale间隔),避免重启影响判断。

    自定义参数

    可根据作业需求调整策略阈值和行为,适配特殊场景。


    实操步骤

  • 进入作业详情页面,切换到AutoPilot tab。
  • 将模式从Disabled切换为Active或Monitoring。
  • 选择策略和冷却时间,填写自定义参数。
  • 保存配置后,AutoPilot即开启监控和调优。

  • 如何选择策略

    一般场景

    推荐默认参数(Cpu-based + Memory-utilization-based + Job-exception-based),简单易用。

    高优先级作业

    推荐Monitoring模式,定期手动Review,避免频繁重启影响业务。

    特定源场景

    推荐结合Source-delay-based和Slot-utilization-based策略,提升调优效果。


    使用注意事项

  • AutoPilot通过默认并发度调整,需确保代码无固有并发度设置。
  • Monitor模式下,作业重启可能影响业务,需谨慎使用。
  • AutoPilot假设作业流量平滑且吞吐能力线性扩展,严重偏离可能导致异常。

  • 总结

    AutoPilot通过智能化资源调优,显著提升Flink作业性能和稳定性。合理配置策略和模式,结合业务需求,最大化AutoPilot价值,同时避免潜在风险。

    转载地址:http://aazy.baihongyu.com/

    你可能感兴趣的文章
    Mysql学习总结(9)——MySql视图原理讲解与使用大全
    查看>>
    Mysql学习笔记 - 在Centos7环境下离线安装Mysql
    查看>>
    MySQL学习笔记十七:复制特性
    查看>>
    Mysql学习第一课-mysql的定义及sql语句
    查看>>
    mysql学号的字符长度_MYSQL--2
    查看>>
    mysql安全模式: sql_safe_updates
    查看>>
    mysql安装,卸载,连接
    查看>>
    MySQL安装之没有配置向导
    查看>>
    mysql安装出现 conflicts with mysql*的解决办法
    查看>>
    mysql安装卡在最后一步解决方案(附带万能安装方案)
    查看>>
    mysql安装和启动命令小结
    查看>>
    Mysql安装教程(命令行)
    查看>>
    mysql安装版安装
    查看>>
    MySQL安装配置教程(非常详细),从零基础入门到精通,看完这一篇就够了
    查看>>
    mysql安装配置简介
    查看>>
    MySQL定义和变量赋值
    查看>>
    mysql定时任务事件清理单表数据
    查看>>
    MySQL定时器Events
    查看>>
    Mysql定时备份脚本
    查看>>
    mysql实战01|基础架构:一条SQL查询语句是如何执行的?
    查看>>