课程简介
案例背景:
大数据时代,业务对数据处理的实时性要求越来越高,例如异常检测,指标大盘等,由此流式计算变得越来越重要。在字节的 Flink 使用场景中,调度是非常重要的一个步骤,主要分为两个模块资源调度和Task 调度。
在资源调度方面,希望 container 分布均匀,避免造成单机负载过高;同时希望分配后机器 quota 均衡避免碎片。还有就是调度时尽可能避开高 load 节点。
在 Task 调度方面,希望更均衡的调度 Task,减少 TaskManager 间资源需求差异,减少资源浪费;其次在大规模集群下单机故障是不可避免的,我们需要黑名单机制来提升 Flink 的稳定性。
解决思路:
针对上述问题,我们优化了 Flink 引擎的调度策略,使其更均衡的将 Task 调度到各 TaskManager,减少资源浪费,也便于用户配置资源。我们也提供了多维度黑名单机制,解决作业再单机故障下不能自动恢复的问题。
同时 YARN 团队也针对实时计算场景支持了“container 打散”、“节点 quota 均衡”、“高 load 节点跳过”等调度谓词。
成果:
经过上述优化,我们减少了资源浪费,提升了稳定性及易用性。
目标收益
1. Flink 内部调度机制及优化
2. Flink 在超大规模下的优化
培训对象
课程内容
案例方向
智能数据分析/企业级大数据架构演进/流式计算系统设计/数据库的未来
案例背景
大数据时代,业务对数据处理的实时性要求越来越高,例如异常检测,指标大盘等,由此流式计算变得越来越重要。在字节的 Flink 使用场景中,调度是非常重要的一个步骤,主要分为两个模块资源调度和Task 调度。
在资源调度方面,希望 container 分布均匀,避免造成单机负载过高;同时希望分配后机器 quota 均衡避免碎片。还有就是调度时尽可能避开高 load 节点。
在 Task 调度方面,希望更均衡的调度 Task,减少 TaskManager 间资源需求差异,减少资源浪费;其次在大规模集群下单机故障是不可避免的,我们需要黑名单机制来提升 Flink 的稳定性。
收益
1. Flink 内部调度机制及优化
2. Flink 在超大规模下的优化
解决思路
针对上述问题,我们优化了 Flink 引擎的调度策略,使其更均衡的将 Task 调度到各 TaskManager,减少资源浪费,也便于用户配置资源。我们也提供了多维度黑名单机制,解决作业再单机故障下不能自动恢复的问题。
同时 YARN 团队也针对实时计算场景支持了“container 打散”、“节点 quota 均衡”、“高 load 节点跳过”等调度谓词。
结果
经过上述优化,我们减少了资源浪费,提升了稳定性及易用性。