Search code examples
apache-sparkmesosdcos

Spark submission on DCOS cluster fails with "Mesos cluster mode is only supported through the REST submission API"


I am trying to run a spark-submit locally, having ssh-tunneled to my mesos master:

ssh -L 7077:spark-dispatcher.marathon.l4lb.thisdcos.directory:7077 [email protected]

However I am getting the following error

./spark-submit --deploy-mode cluster --master mesos://localhost:7077 --conf spark.mesos.driverEnv.MYSQL_HOSTNAME= ...

2018-11-14 11:14:18 WARN  NativeCodeLoader:62 - Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Exception in thread "main" java.lang.AssertionError: assertion failed: Mesos cluster mode is only supported through the REST submission API
    at scala.Predef$.assert(Predef.scala:170)
    at org.apache.spark.deploy.SparkSubmit.prepareSubmitEnvironment(SparkSubmit.scala:673)
    at org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:143)
    at org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:86)
    at org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:924)
    at org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:933)
    at org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala)

Solution

  • For some reason the problem went away when I added

    --conf spark.master.rest.enabled=true