apache-spark - Spark 计划 : FIFO or FAIR?

标签 apache-spark hadoop-yarn

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

Spark Scheduler 和 YARN Scheduler 有什么区别?

最佳答案

当您使用 spark-submit 或任何其他方式在集群中提交作业时,它将被提供给 Spark schedulers负责实现您工作的逻辑计划。在 spark 中,我们有两种模式。

1。先进先出


默认情况下,Spark 的调度程序以 FIFO 方式运行作业。每个作业都分为阶段(例如map和reduce阶段),第一个作业在所有可用资源上获得优先权,而它的阶段有任务要启动,然后是 >second 作业获得优先级等。如果队列头部的作业不需要使用整个集群,后面的作业可以立即开始运行,但如果队列头部的作业很大,那么后面的工作可能会大大延迟。


2。公平


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

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


For more info

关于apache-spark - Spark 计划 : FIFO or FAIR?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42527849/

相关文章:

hadoop - yarn.log.dir 在哪里定义的?

apache-spark - Dataproc (Spark v2) 中的 Yarn 队列示例

scala - 具有非列参数的 Spark udf

scala - 使用spark优化S3到S3的传输

python - 从发送到 spark-submit 的外部 __main__ 文件修改 SparkContext

hadoop - YARN 是否负责通过 HDFS 分发数据

hadoop - 如何为 YARN MapReduce 作业处理容器故障?

ubuntu - Hadoop Yarn 作业跟踪器未启动

scala - Spark scala mocking spark.implicits 用于单元测试

apache-spark - Spark Streaming 缓存和转换