博客
关于我
如何使用 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查询语句能否让一个字段不显示出来_天天写order by,你知道Mysql底层执行原理吗?
    查看>>
    MySQL查询语句:揭秘专家秘籍,让你秒变数据库达人!
    查看>>
    MySQL死锁套路:一次诡异的批量插入死锁问题分析
    查看>>
    Mysql死锁问题Deadlock found when trying to get lock;try restarting transaction
    查看>>
    mysql每个数据库的最大连接数_MySQL数据库最大连接数
    查看>>
    Mysql流程控制结构,if函数、case结构、if结构、循环结构
    查看>>
    mysql添加外网访问权限
    查看>>
    mysql添加用户
    查看>>
    MySQL添加用户、删除用户与授权
    查看>>
    mysql添加用户及权限
    查看>>
    Mysql添加用户并授予只能查询权限
    查看>>
    mysql添加用户权限报1064 - You have an error in your SQL syntax问题解决
    查看>>
    mysql添加索引
    查看>>
    mysql添加表注释、字段注释、查看与修改注释
    查看>>
    mysql清理undo线程_MySQL后台线程的清理工作
    查看>>
    mysql清空带外键的表
    查看>>
    MySQL清空表数据
    查看>>
    mysql源码安装
    查看>>
    Mysql源码安装过程中可能碰到的问题
    查看>>
    MySQL灵魂16问,你能撑到第几问?
    查看>>