Advertisement

Executor动态分配机制实现原理分析

阅读量:

文章目录

  • 简介
  • ExecutorAllocationManager创建和启动
  • 相关配置参数

简介

在SparkContext中初始化ExecutorAllocationManager,在其工作负载驱动下通过定期执行后台线程实现对Executor资源的动态分配与移除,并负责取消不必要的executor申请操作。该管理器持续维护一组动态的目标Executor数量,并定期更新至集群管理器以保持同步。初始化状态下目标Executor数目由配置文件提供,在任务等待与运行数量变化的影响下进行相应调整

Executor的动态分配过程

一旦当前的任务目标数超出当前处理能力,则减少任务目标数。为了使 executor 数量与当前运行中的及等待中的任务总数相匹配, 目标 executor 的数量将被截断。为了应对因等待调度积压而堆积的任务, ExecutorAllocationManager 会增加 executor 数量。移除策略简单: 当一个 executor 闲置超过 K 秒 (即未被调度执行任何任务) 时, 则该 executor 将被移除。

当调用队列

全部评论 (0)

还没有任何评论哟~