当前位置:   article > 正文

Job的资源调度_job调度

job调度

在一个spark作业内部,多个并行的job是可以同时运行的。对于job,就是一个spark action操作触发的计算单元。spark的调度器
是完全线程安全的,而且支持一个spark application来服务多个网络请求,以及并发执行多个job。

默认情况下,spark的调度会使用FIFO的方式来调度多个job。每个job都会被划分为多个stage,而且第一个job会对所有可用的资源
获取优先使用权,并且让它的stage的task去运行,然后第二个job再获取资源的使用权,以此类推。如果队列头部的job不需要使用
整个集群资源,之后的job可以立即运行,但是如果队列头部的job使用了集群几乎所有的资源,那么之后的job的运行会被推迟。

从spark 0.8开始,我们是可以在多个job之间配置公平的调度器的。在公平的资源共享策略下,spark会将多个job的task使用一种
轮询的方式来分配资源和执行,所以所有的job都有一个基本公平的机会去使用集群的资源。这就意味着,即使运行时间很长的job
先提交并在运行了,之后提交的运行时间较短的job,也同样可以立即获取到资源并且运行,而不会等待运行时间很长的job结束之后
才能获取到资源。这种模式对于多个并发的job是最好的一种调度方式。
在这里插入图片描述
FIFO调度器:
在这里插入图片描述
容量调度器:
在这里插入图片描述
在这里插入图片描述
公平调度器
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/563731
推荐阅读
相关标签
  

闽ICP备14008679号