Hello Andrew,

Thanks for the tip, I accessed the Classpath Entries on the yarn monitoring
(in case of yarn it is not localhost:4040 but
yarn_master:8088//proxy/[application_id]/environment). I saw that my jar
was actually on the CLASSPATH and was available to my application.

I realized that I could not access my .jar because there were something
wrong with it, it was only partially transfered to my cluster and was
therefore not usable. I am confused.

Sorry, and thanks for your help.



2014-03-26 1:01 GMT+01:00 Andrew Lee <alee...@hotmail.com>:

> Hi Julien,
>
> The ADD_JAR doesn't work in the command line. I checked spark-class, and I
> couldn't find any Bash shell bringing in the variable ADD_JAR to the
> CLASSPATH.
>
> Were you able to print out the properties and environment variables from
> the Web GUI?
>
> localhost:4040
>
> This should give you an idea what is included in the current Spark shell.
> The bin/spark-shell invokes bin/spark-class, and I don't see ADD_JAR in
> bin/spark-class as well.
>
> Hi Sandy,
>
> Does Spark automatically deploy the JAR for you on the DFS cache if Spark
> is running on cluster mode? I haven't got that far yet to deploy my own
> one-time JAR for testing. Just setup a local cluster for practice.
>
>
> ------------------------------
> Date: Tue, 25 Mar 2014 23:13:58 +0100
> Subject: Re: Using an external jar in the driver, in yarn-standalone mode.
> From: julien.ca...@gmail.com
> To: user@spark.apache.org
>
>
> Thanks for your answer.
>
> I am using
> bin/spark-class  org.apache.spark.deploy.yarn.Client --jar myjar.jar
> --class myclass ...
>
> myclass in myjar.jar contains a main that initializes a SparkContext in
> yarn-standalone mode.
>
> Then I am using some code that uses myotherjar.jar, but I do not execute
> it using the spark context or a RDD, so my understanding is that it is not
> excuted on yarn slaves, only on the yarn master.
>
> I found no way to make my code being able to find myotherjar.jar.
> CLASSPATH is set by Spark (or Yarn?) before being executed on the Yarn
> Master, it is not set by me. It seems that the idea is to set
> SPARK_CLASSPATH and/or ADD_JAR and then these jars becomes automatically
> available in the Yarn Master but it did not work for me.
>
> I tried also to use sc.addJar, it did not work either, but anyway it seems
> clear that this is used for dependancies in the code exectued on the
> slaves, not on the master. Tell me if I am wrong
>
>
>
>
>
>
> 2014-03-25 21:11 GMT+01:00 Nathan Kronenfeld <nkronenf...@oculusinfo.com>:
>
> by 'use ... my main program' I presume you mean you have a main function
> in a class file you want to use as your entry point.
>
> SPARK_CLASSPATH, ADD_JAR, etc add your jars in on the master and the
> workers... but they don't on the client.
> For that, you're just using ordinary, everyday java/scala - so it just has
> to be on the normal java classpath.
>
> Could that be your issue?
>
>           -Nathan
>
>
>
> On Tue, Mar 25, 2014 at 2:18 PM, Sandy Ryza <sandy.r...@cloudera.com>wrote:
>
> Hi Julien,
>
> Have you called SparkContext#addJars?
>
> -Sandy
>
>
> On Tue, Mar 25, 2014 at 10:05 AM, Julien Carme <julien.ca...@gmail.com>wrote:
>
> Hello,
>
> I have been struggling for ages to use an external jar in my spark driver
> program, in yarn-standalone mode. I just want to use in my main program,
> outside the calls to spark functions, objects that are defined in another
> jar.
>
> I tried to set SPARK_CLASSPATH, ADD_JAR, I tried to use --addJar in the
> spark-class arguments, I always end up with a "Class not found exception"
> when I want to use classes defined in my jar.
>
> Any ideas?
>
> Thanks a lot,
>
>
>
>
>
> --
> Nathan Kronenfeld
> Senior Visualization Developer
> Oculus Info Inc
> 2 Berkeley Street, Suite 600,
> Toronto, Ontario M5A 4J5
> Phone:  +1-416-203-3003 x 238
> Email:  nkronenf...@oculusinfo.com
>
>
>

Reply via email to