我已将 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 ....
您有解决此问题的任何提示或解决方案吗?
非常感谢...
干杯
不幸的是,我认为不可能在集群模式下使用 Mesos 运行 Spark 3.2.x,因为此功能 https://issues.apache.org/jira/browse/SPARK-35013以及 MesosClusterDispatcher 的工作方式。
基本上,Dispatcher 正在提交 Spark 应用程序,并使用 --driver-cores 参数作为浮点数,然后 Spark (SparkSubmitArguments.scala) 将其读取为 String 并像这样解析它:
driverCores.toInt
当然这失败了。
我提出了一个快速解决 https://github.com/apache/spark/pull/37016为此,但与此同时,我只是根据 PR 中所做的更改构建了代码。我也将此报告为bug https://issues.apache.org/jira/browse/SPARK-39617.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)