Spark 调度:先进先出还是公平?

cdh*_*hit 3 hadoop-yarn apache-spark

如何选择Spark调度器:FIFO还是FAIR?

Spark调度器和YARN调度器有什么区别?

Bal*_*raj 5

当您使用 Spark-Submit 或任何其他方式在集群中提交作业时,它将交给Spark 调度程序,该调度程序负责具体化作业的逻辑计划。在 Spark 中,我们有two模式。

\n\n

1.先进先出

\n\n
\n\n

默认情况下,Spark\xe2\x80\x99s 调度程序以 FIFO 方式运行作业。每个作业被分为stages(例如map和reduce阶段),first作业在所有可用资源上获得优先级,同时其阶段有任务要启动,然后second作业获得优先级,依此类推。如果队列头部的作业不\xe2 \x80\x99t需要使用整个集群,后面的作业可以立即开始运行,但是如果队列头部的作业很大,那么后面的作业可能会明显延迟。

\n\n
\n\n

2. 公平

\n\n
\n\n

公平调度程序还支持将作业分组到池中并为每个池设置不同的调度选项(例如权重)。例如,这对于为更重要的作业创建一个池很有用high-priority,或者将每个用户的作业分组在一起并为用户提供平等的份额,无论他们有多少并发作业,而不是为作业提供平等的份额。此方法是根据Hadoop Fair Scheduler 建模的。

\n\n

在没有任何干预的情况下,新提交的作业会进入默认池,但可以通过将spark.scheduler.pool“本地属性”添加到提交作业的线程中的 SparkContext 来设置作业\xe2\x80\x99 池。

\n\n
\n\n

欲了解更多信息

\n

  • 这只是 Spark 文档的直接复制和粘贴 (2认同)