So looking @ the actual code- I see where it looks like --class 'notused' --jar null is set on the ClientBase.scala when yarn is being run in client mode. One thing I noticed is that the jar is being set by trying to grab the jar's uri from the classpath resources- in this case I think it's finding the spark-yarn jar instead of spark-assembly so when it tries to runt the ExecutorLauncher.scala, none of the core classes (like org.apache.spark.Logging) are going to be available on the classpath.
I hope this is the root of the issue. I'll keep this thread updated with my findings. On Fri, Jan 2, 2015 at 5:46 PM, Corey Nolet <cjno...@gmail.com> wrote: > .. and looking even further, it looks like the actual command tha'ts > executed starting up the JVM to run the > org.apache.spark.deploy.yarn.ExecutorLauncher is passing in "--class > 'notused' --jar null". > > I would assume this isn't expected but I don't see where to set these > properties or why they aren't making it through. > > On Fri, Jan 2, 2015 at 5:02 PM, Corey Nolet <cjno...@gmail.com> wrote: > >> Looking a little closer @ the launch_container.sh file, it appears to be >> adding a $PWD/__app__.jar to the classpath but there is no __app__.jar in >> the directory pointed to by PWD. Any ideas? >> >> On Fri, Jan 2, 2015 at 4:20 PM, Corey Nolet <cjno...@gmail.com> wrote: >> >>> I'm trying to get a SparkContext going in a web container which is being >>> submitted through yarn-client. I'm trying two different approaches and both >>> seem to be resulting in the same error from the yarn nodemanagers: >>> >>> 1) I'm newing up a spark context direct, manually adding all the lib >>> jars from Spark and Hadoop to the setJars() method on the SparkConf. >>> >>> 2) I'm using SparkSubmit,main() to pass the classname and jar containing >>> my code. >>> >>> >>> When yarn tries to create the container, I get an exception in the >>> driver "Yarn application already ended, might be killed or not able to >>> launch application master". When I look into the logs for the nodemanager, >>> I see "NoClassDefFoundError: org/apache/spark/Logging. >>> >>> Looking closer @ the contents of the nodemanagers, I see that the spark >>> yarn jar was renamed to __spark__.jar and placed in the app cache while the >>> rest of the libraries I specified via setJars() were all placed in the file >>> cache. Any ideas as to what may be happening? I even tried adding the >>> spark-core dependency and uber-jarring my own classes so that the >>> dependencies would be there when Yarn tries to create the container. >>> >> >> >