title: Spark - Error "A master URL must be set in your configuration" when submitting an app
body: <p>I have an Spark app which runs with no problem in local mode,but have some problems when submitting to the Spark cluster.</p>
  
  <p>The error msg are as follows:</p>
  
  <pre><code>16/06/24 15:42:06 WARN scheduler.TaskSetManager: Lost task 2.0 in stage 0.0 (TID 2, cluster-node-02): java.lang.ExceptionInInitializerError
      at GroupEvolutionES$$anonfun$6.apply(GroupEvolutionES.scala:579)
      at GroupEvolutionES$$anonfun$6.apply(GroupEvolutionES.scala:579)
      at scala.collection.Iterator$$anon$14.hasNext(Iterator.scala:390)
      at org.apache.spark.util.Utils$.getIteratorSize(Utils.scala:1595)
      at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:1157)
      at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:1157)
      at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1858)
      at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1858)
      at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
      at org.apache.spark.scheduler.Task.run(Task.scala:89)
      at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
  Caused by: org.apache.spark.SparkException: A master URL must be set in your configuration
      at org.apache.spark.SparkContext.&lt;init&gt;(SparkContext.scala:401)
      at GroupEvolutionES$.&lt;init&gt;(GroupEvolutionES.scala:37)
      at GroupEvolutionES$.&lt;clinit&gt;(GroupEvolutionES.scala)
      ... 14 more
  
  16/06/24 15:42:06 WARN scheduler.TaskSetManager: Lost task 5.0 in stage 0.0 (TID 5, cluster-node-02): java.lang.NoClassDefFoundError: Could not initialize class GroupEvolutionES$
      at GroupEvolutionES$$anonfun$6.apply(GroupEvolutionES.scala:579)
      at GroupEvolutionES$$anonfun$6.apply(GroupEvolutionES.scala:579)
      at scala.collection.Iterator$$anon$14.hasNext(Iterator.scala:390)
      at org.apache.spark.util.Utils$.getIteratorSize(Utils.scala:1595)
      at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:1157)
      at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:1157)
      at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1858)
      at org.apache.spark.SparkContext$$anonfun$runJob$5.apply(SparkContext.scala:1858)
      at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:66)
      at org.apache.spark.scheduler.Task.run(Task.scala:89)
      at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:214)
      at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
      at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
      at java.lang.Thread.run(Thread.java:745)
  </code></pre>
  
  <p>In the above code, <code>GroupEvolutionES</code> is the main class. The error msg says "A master URL must be set in your configuration", but I have provided the "--master" parameter to <code>spark-submit</code>.</p>
  
  <p>Anyone who knows how to fix this problem?</p>
  
  <p>Spark version: 1.6.1</p>