SREWorks云原生数智运维工程实践-云原生运维实战篇-阿里超大规模Flink集群运维实践(下)

简介: SREWorks云原生数智运维工程实践-云原生运维实战篇

三、 应用运维Flink Job

 

image.png

 

伴随着实时计算的大趋势,Flink的用户和作业数经历了飞速增长,现在平台上的作业数已经达到了几万个。但是众所周知Flink作业的运维是一个非常复杂的问题,列举一些日常用户最高频的咨询,比如为什么我的作业启动慢,为什么Failover,为什么反压,为什么延时,如何调整资源配置来减少成本?这些看似简单的问题其实都非常复杂。

 

Flink的作业运维难点有两个方面:一方面是分布式系统全链路组件很多,依赖很复杂。另一方面是Flink自身尤其是涉及到RunTime层面时,原理很复杂。所以我们希望将我们自身丰富的运维知识,包括对系统全链路的调用流程,各个组件工作原理的深入理解,也包括日常和双11大促中丰富的排查问题的经验,以及优秀的排查思路,全部转化为数据和规则算法,沉淀为运维产品功能。

 

这个产品主要有两个功能,一个是Flink Job Adviser,用来发现和诊断作业的异常;另一个是Flink Job Operator,用来修复作业的异常。两者配套一起来解决Flink作业运维的难题。

 

image.png

 

上图是Flink Job Adviser最终呈现给用户的效果。用户只需输入作业名或链接,@一个机器人,就会调用Adviser服务。

 

比如Case1,作业由于资源不足无法启动,adviser会给出诊断结果,是由于某个作业资源不足,并附上改进建议,让用户去控制台扩容对应的资源数量。

 

比如Case2,用户的某一个作业failover了,他想知道为什么。通过全域数据的关联,Adviser给出的结果是由于平台侧机器下线或硬件故障自愈导致的,建议用户无需做任何操作,等待自动化的恢复即可。

 

再比如Case3,由于用户作业内存配置不合理,频繁出现OOM导致failover。Adviser就会建议用户去调整对应计算节点的内存配置,避免新的failover。

 

image.png

 

Filnk job Adviser背后还有几十种针对复杂场景的异常诊断能力,构成了一个庞大的经验决策树。它不仅能够定位正在发生的异常,还有能力预防异常,主要由三部分组成:

 

事前部分,通过作业的运行指标和系统的全域事件来做预测,提前发现风险隐患,达到预防的效果,比如有作业发现的failover或者版本有问题等,这些异常还没有真正影响作业,通过体检能够发现这些问题。

 

事中部分,针对作业运行的全生命周期做诊断,包括启停类的问题,比如启动报错、启动慢、停止报错等,还包括运行起来性能不足、延时以及运行过程报错、数据一致性、准确性等问题。

 

事后部分,支持用户对于历史作业做全量的回溯。比如说想看昨天半夜failover的原因。

 

image.png

 

在决策树的具体实现里,选择了几个典型的、有复杂度的节点来进行分享。

 

第一个是作业全生命周期状态检查,一个作业从控制台提交到资源分配,再到运行环境、依赖下载,再到Top的创建,到上下游的加载,最后数据处理,整个链路是一个非常复杂的流程,adviser就是把关键节点的耗时和全量的事件统一收集起来进行分析,最终能够做到在作业任何状态做异常诊断和定位。

 

第二个是作业运行态性能类的问题,主要针对各类实时监控指标做异常检测,或通过经验值、域值的判断来发现和分析异常。比如作业延时了,那就通过节点找到反压所在的节点,再找到TM所在的节点,然后分析机器异常,最后发现可能是某台机器load高。以此形成整个链路证据链的推导,做到关联下钻分析,定位到真实的根因。

 

第三个就是最高频的问题,作业在运行过程中有报错。核心的思路是收集各个组件的日志,比如提交的日志、调度的日志、failover和有JM和TM的日志,将这些海量的异常日志通过日志聚类的算法,包括自然语言处理和实际提取,来将一些非结构化的日志变成结构化的数据,再合并同类项进行压缩,最后由SRE和研发来进行原因标注和建议,形成一套完善的专家经验。

 

最早决策树的实现都是静态的规则,但随着场景的复杂化,尤其是数据的暴增以及个性化场景的出现,静态规则无法再满足我们的需求,比如每个作业的延迟都是个性化的、报错无法再通过正则匹配来维护。我们正在积极尝试引入各种AI来解决这些个性化的问题。

 

image.png

 

通过Filnk job Adviser定位异常后,就需要Filnk job Operator来修复异常,形成一个闭环。

 

 

 

 

Operator能力主要由4大部分组成:

 

第一种能力是升级,对作业问题版本进行透明升级以及配置的热更新,来解决作业在代码和配置等稳定性方面的隐患和异常。

第二种能力是优化,基于阿里内部的Autopilot来对作业进行性能的配置调优,从而帮助用户作业解决性能和成本的问题。

第三种能力是迁移,作业通过跨集群透明迁移,主要帮助用户在大规模作业场景下达到作业的高效管理。

最后一种是自愈修复,根据 Adviser 诊断出的各种风险和规则,配套有一键修复的自愈能力。

 

image.png

 

随着实时计算的发展,运维也经历了从人肉、工具化、平台化、智能化到云原生化的演进升级,我们一直秉承的思路是将丰富的实时计算运维经验能力全部沉淀到实时计算管控产品上,来解决超大规模实时计算运维的难题。

 

在整个体系中,最中间是集群和应用两个运维对象,外围的运维的目标和运维的价值一直都是围绕着稳定、成本、效率三大目标。运维的体系、技术和产品的载体,则是实时计算管控,通过实时计算管控来服务好上层的实时计算用户和产研、SRE还有我们自己。同时运维管控的技术内核正在全力往智能化和云原生化演进。

 

一句话总结,以智能和云原生为技术内核,建设实时计算运维管控产品,来解决超大规模Flink集群运维和应用运维碰到的稳定、成本、效率三大难题。

相关实践学习
基于Hologres+Flink搭建GitHub实时数据大屏
通过使用Flink、Hologres构建实时数仓,并通过Hologres对接BI分析工具(以DataV为例),实现海量数据实时分析.
实时计算 Flink 实战课程
如何使用实时计算 Flink 搞定数据处理难题?实时计算 Flink 极客训练营产品、技术专家齐上阵,从开源 Flink功能介绍到实时计算 Flink 优势详解,现场实操,5天即可上手! 欢迎开通实时计算 Flink 版: https://cn.aliyun.com/product/bigdata/sc Flink Forward Asia 介绍: Flink Forward 是由 Apache 官方授权,Apache Flink Community China 支持的会议,通过参会不仅可以了解到 Flink 社区的最新动态和发展计划,还可以了解到国内外一线大厂围绕 Flink 生态的生产实践经验,是 Flink 开发者和使用者不可错过的盛会。 去年经过品牌升级后的 Flink Forward Asia 吸引了超过2000人线下参与,一举成为国内最大的 Apache 顶级项目会议。结合2020年的特殊情况,Flink Forward Asia 2020 将在12月26日以线上峰会的形式与大家见面。
相关文章
|
5月前
|
运维 监控 Cloud Native
【云故事探索】NO.17:国诚投顾的云原生 Serverless 实践
国诚投顾携手阿里云,依托Serverless架构实现技术全面升级,构建高弹性、智能化技术底座,提升业务稳定性与运行效率。通过云原生API网关、微服务治理与智能监控,实现流量精细化管理与系统可观测性增强,打造安全、敏捷的智能投顾平台,助力行业数字化变革。
【云故事探索】NO.17:国诚投顾的云原生 Serverless 实践
|
5月前
|
运维 监控 Cloud Native
【云故事探索】NO.17:国诚投顾的云原生 Serverless 实践
通过与阿里云深度合作,国诚投顾完成了从传统 ECS 架构向云原生 Serverless 架构的全面转型。新的技术架构不仅解决了原有系统在稳定性、弹性、运维效率等方面的痛点,还在成本控制、API 治理、可观测性、DevOps 自动化等方面实现了全方位升级。
|
3月前
|
人工智能 Cloud Native 算法
拔俗云原生 AI 临床大数据平台:赋能医学科研的开发者实践
AI临床大数据科研平台依托阿里云、腾讯云,打通医疗数据孤岛,提供从数据治理到模型落地的全链路支持。通过联邦学习、弹性算力与安全合规技术,实现跨机构协作与高效训练,助力开发者提升科研效率,推动医学AI创新落地。(238字)
|
5月前
|
弹性计算 运维 Cloud Native
【云故事探索】NO.17:国诚投顾的云原生Serverless实践
简介: 通过与阿里云深度合作,国诚投顾完成了从传统 ECS 架构向云原生 Serverless 架构的全面转型。新的技术架构不仅解决了原有系统在稳定性、弹性、运维效率等方面的痛点,还在成本控制、API 治理、可观测性、DevOps 自动化等方面实现了全方位升级。
166 1
|
4月前
|
存储 弹性计算 Cloud Native
云原生数据库的演进与应用实践
随着企业业务扩展,传统数据库难以应对高并发与弹性需求。云原生数据库应运而生,具备计算存储分离、弹性伸缩、高可用等核心特性,广泛应用于电商、金融、物联网等场景。阿里云PolarDB、Lindorm等产品已形成完善生态,助力企业高效处理数据。未来,AI驱动、Serverless与多云兼容将推动其进一步发展。
236 8
|
6月前
|
Cloud Native 中间件 调度
云原生信息提取系统:容器化流程与CI/CD集成实践
本文介绍如何通过工程化手段解决数据提取任务中的稳定性与部署难题。结合 Scrapy、Docker、代理中间件与 CI/CD 工具,构建可自动运行、持续迭代的云原生信息提取系统,实现结构化数据采集与标准化交付。
198 1
云原生信息提取系统:容器化流程与CI/CD集成实践
|
6月前
|
运维 Kubernetes Cloud Native
分钟级到秒级:Yahaha 基于 OpenKruiseGame 的 UE5 游戏云原生实践
回顾《STRIDEN》项目在短短两个月内完成云原生转型的历程,它验证了一条清晰、可行的路径,即如何利用云原生技术,从根本上解决现代在线游戏所面临的运维复杂性难题。
|
资源调度 监控 数据处理
【Flink】Flink集群有哪些角色?各自有什么作用?
【4月更文挑战第18天】【Flink】Flink集群有哪些角色?各自有什么作用?
|
5月前
|
存储 分布式计算 数据处理
「48小时极速反馈」阿里云实时计算Flink广招天下英雄
阿里云实时计算Flink团队,全球领先的流计算引擎缔造者,支撑双11万亿级数据处理,推动Apache Flink技术发展。现招募Flink执行引擎、存储引擎、数据通道、平台管控及产品经理人才,地点覆盖北京、杭州、上海。技术深度参与开源核心,打造企业级实时计算解决方案,助力全球企业实现毫秒洞察。
559 0
「48小时极速反馈」阿里云实时计算Flink广招天下英雄

热门文章

最新文章