HI
I am using Spark 1.1.0 config with STANDALONE clusterManager and CLUSTER deployMode. The logic is I want to submit multi jars with spark-submit , using the �C-jars optional, I got an ClassNotFoundException , by the way in my code I also use thread context class loader to load custom class . Strange things is that when I use CLIENT deployMode. the exception is not throws. Can anyone explain the class loader logic of spark or the issue when using cluster mode ? /10/24 14:18:30 ERROR Executor: Exception in task 0.0 in stage 0.0 (TID 0) java.lang.RuntimeException: Cannot load class: cn.cekasp.al.demo.SimpleInputFormat3 at cn.cekasp.algorithm.util.ReflectUtil.findClass(ReflectUtil.java:12) at cn.cekasp.algorithm.util.ReflectUtil.newInstance(ReflectUtil.java:18) at cn.cekasp.algorithm.reader.JdbcSourceReader$1.call(JdbcSourceReader.java:95) at cn.cekasp.algorithm.reader.JdbcSourceReader$1.call(JdbcSourceReader.java:90) at org.apache.spark.api.java.JavaPairRDD$$anonfun$toScalaFunction$1.apply(JavaP airRDD.scala:923) at scala.collection.Iterator$$anon$11.next(Iterator.scala:328) at org.apache.spark.util.Utils$.getIteratorSize(Utils.scala:1167) at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:904) at org.apache.spark.rdd.RDD$$anonfun$count$1.apply(RDD.scala:904) at org.apache.spark.SparkContext$$anonfun$runJob$4.apply(SparkContext.scala:112 1) at org.apache.spark.SparkContext$$anonfun$runJob$4.apply(SparkContext.scala:112 1) at org.apache.spark.scheduler.ResultTask.runTask(ResultTask.scala:62) at org.apache.spark.scheduler.Task.run(Task.scala:54) at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:177) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:11 45) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:6 15) at java.lang.Thread.run(Thread.java:745) Caused by: java.lang.ClassNotFoundException: cn.cekasp.al.demo.SimpleInputFormat3 at java.net.URLClassLoader$1.run(URLClassLoader.java:366) at java.net.URLClassLoader$1.run(URLClassLoader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:270) at cn.cekasp.algorithm.util.ReflectUtil.findClass(ReflectUtil.java:10) ... 16 more