【问题标题】:configuring scheduling pool in spark using zeppelin, scala and EMR使用 zeppelin、scala 和 EMR 在 Spark 中配置调度池
【发布时间】:2017-11-26 06:22:55
【问题描述】:

在 pyspark 中,我可以通过执行以下操作更改为 zeppelin(在 AWS EMR 上)中的公平调度程序:

conf = sc.getConf()
conf.set('spark.scheduler.allocation.file', 
         '/etc/spark/conf.dist/fairscheduler.xml.template')
sc.setLocalProperty("spark.scheduler.pool", 'production')

但是,如果我在 scala 单元中尝试类似的操作,那么事情会继续在 FIFO 池中运行

val conf = sc.getConf()
conf.set("spark.scheduler.allocation.file", 
         "/etc/spark/conf.dist/fairscheduler.xml.template")   
sc.setLocalProperty("spark.scheduler.pool", "FAIR")

我尝试了很多组合,但没有任何效果。任何建议表示赞赏。

【问题讨论】:

    标签: scala apache-spark pyspark amazon-emr apache-zeppelin


    【解决方案1】:

    我在使用 Spark 2.4 时遇到了类似的问题。就我而言,通过删除我的 Spark 配置中的默认“spark.scheduler.pool”选项解决了这个问题。可能你的 Scala Spark 解释器是用 spark.scheduler.pool 设置的,但你的 python 不是。

    我将此问题追溯到 Spark 中的一个错误 - https://issues.apache.org/jira/browse/SPARK-26988。问题是,如果您在基本配置中设置配置属性“spark.scheduler.pool”,则无法使用 setLocalProperty 覆盖它。从基本配置中删除它使其正常工作。有关详细信息,请参阅错误描述。

    【讨论】:

      猜你喜欢
      • 2017-07-13
      • 2017-11-05
      • 2018-01-01
      • 2016-12-16
      • 2018-05-11
      • 2017-01-14
      • 2017-01-28
      • 2017-03-19
      • 2016-08-22
      相关资源
      最近更新 更多