【问题标题】:Driver cores must be a positive number驱动内核必须是正数
【发布时间】:2022-06-29 14:55:37
【问题描述】:

我已将 Spark 从版本 3.1.1 升级到 3.2.1。 现在所有现有的 Spark 作业都因以下错误而中断。

Exception in thread "main" org.apache.spark.SparkException: Driver cores must be a positive number
at org.apache.spark.deploy.SparkSubmitArguments.error(SparkSubmitArguments.scala:634)
at org.apache.spark.deploy.SparkSubmitArguments.validateSubmitArguments(SparkSubmitArguments.scala:257)
at org.apache.spark.deploy.SparkSubmitArguments.validateArguments(SparkSubmitArguments.scala:234)
at org.apache.spark.deploy.SparkSubmitArguments.<init>(SparkSubmitArguments.scala:119)
at org.apache.spark.deploy.SparkSubmit$$anon$2$$anon$3.<init>(SparkSubmit.scala:1026)
at org.apache.spark.deploy.SparkSubmit$$anon$2.parseArguments(SparkSubmit.scala:1026)
at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:85)
at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1043)
at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1052)
at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

我们在集群模式下使用 Spark 与 apache mesos 并与 cassandra 位于同一位置。

我尝试了几个选项:

e.g. appl/spark/bin/spark-submit --name "Testjob" --deploy-mode cluster --master mesos://<master node>:7077 --executor-cores 4 --driver-memory 1G --driver-cores 1 -class ....  

您有解决此问题的任何提示或解决方案吗?

非常感谢... 干杯

【问题讨论】:

    标签: apache-spark


    【解决方案1】:

    不幸的是,由于this feature 和 MesosClusterDispatcher 的工作方式,我认为 Spark 3.2.x 不可能在集群模式下与 Mesos 一起运行。 基本上,Dispatcher 正在使用 --driver-cores 参数作为浮点数提交 Spark 应用程序,然后 Spark (SparkSubmitArguments.scala) 将其读取为 String 并像这样解析它:

    driverCores.toInt
    

    当然这失败了。

    我为此提出了quick fix,但同时我只是用我在 PR 中所做的更改构建了代码。我还将此报告为bug

    【讨论】:

      猜你喜欢
      • 2022-06-29
      • 1970-01-01
      • 2019-05-05
      • 2014-09-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-18
      • 1970-01-01
      相关资源
      最近更新 更多