博客
关于我
如何使用 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 rand limit 的替代方案
    查看>>
    MySQL 为什么需要两阶段提交?
    查看>>
    mysql 为某个字段的值加前缀、去掉前缀
    查看>>
    mysql 主从
    查看>>
    mysql 主从 lock_mysql 主从同步权限mysql 行锁的实现
    查看>>
    mysql 主从互备份_mysql互为主从实战设置详解及自动化备份(Centos7.2)
    查看>>
    mysql 主从关系切换
    查看>>
    MYSQL 主从同步文档的大坑
    查看>>
    mysql 主键重复则覆盖_数据库主键不能重复
    查看>>
    Mysql 事务知识点与优化建议
    查看>>
    Mysql 优化 or
    查看>>
    mysql 优化器 key_mysql – 选择*和查询优化器
    查看>>
    MySQL 优化:Explain 执行计划详解
    查看>>
    Mysql 会导致锁表的语法
    查看>>
    mysql 使用sql文件恢复数据库
    查看>>
    mysql 修改默认字符集为utf8
    查看>>
    Mysql 共享锁
    查看>>
    MySQL 内核深度优化
    查看>>
    mysql 内连接、自然连接、外连接的区别
    查看>>
    mysql 写入慢优化
    查看>>