博客
关于我
如何使用 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二进制包安装和遇到的问题
    查看>>
    MySql二进制日志的应用及恢復
    查看>>
    mysql互换表中两列数据方法
    查看>>
    mysql五补充部分:SQL逻辑查询语句执行顺序
    查看>>
    mysql交互式连接&非交互式连接
    查看>>
    MySQL什么情况下会导致索引失效
    查看>>
    Mysql什么时候建索引
    查看>>
    MySql从入门到精通
    查看>>
    MYSQL从入门到精通(一)
    查看>>
    MYSQL从入门到精通(二)
    查看>>
    mysql以下日期函数正确的_mysql 日期函数
    查看>>
    mysql以服务方式运行
    查看>>
    mysql优化--索引原理
    查看>>
    MySQL优化之BTree索引使用规则
    查看>>
    MySQL优化之推荐使用规范
    查看>>
    mysql优化概述(范式.索引.定位慢查询)
    查看>>
    MySQL优化的一些需要注意的地方
    查看>>
    mysql优化相关
    查看>>
    MySql优化系列-优化版造数据(存储过程+函数+修改存储引擎)-2
    查看>>
    MySql优化系列-进阶版造数据(load data statment)-3
    查看>>