thanks for the detailed answer andrew. thats helpful.

i think the main thing thats bugging me is that there is no simple way for
an admin to always set something on the executors for a production
environment (an akka timeout comes to mind). yes i could use
spark-defaults  for that, although that means everything must be submitted
through spark-submit, which is fairly new and i am not sure how much we
will use that yet. i will look into that some more.


On Thu, Jun 19, 2014 at 6:56 PM, Koert Kuipers <ko...@tresata.com> wrote:

> for a jvm application its not very appealing to me to use spark submit....
> my application uses hadoop, so i should use "hadoop jar", and my
> application uses spark, so it should use "spark-submit". if i add a piece
> of code that uses some other system there will be yet another suggested way
> to launch it. thats not very scalable, since i can only launch it one way
> in the end...
>
>
> On Thu, Jun 19, 2014 at 4:58 PM, Andrew Or <and...@databricks.com> wrote:
>
>> Hi Koert and Lukasz,
>>
>> The recommended way of not hard-coding configurations in your application
>> is through conf/spark-defaults.conf as documented here:
>> http://spark.apache.org/docs/latest/configuration.html#dynamically-loading-spark-properties.
>> However, this is only applicable to
>> spark-submit, so this may not be useful to you.
>>
>> Depending on how you launch your Spark applications, you can workaround
>> this by manually specifying these configs as -Dspark.x=y
>> in your java command to launch Spark. This is actually how
>> SPARK_JAVA_OPTS used to work before 1.0. Note that spark-submit does
>> essentially the same thing, but sets these properties programmatically by
>> reading from the conf/spark-defaults.conf file and calling
>> System.setProperty("spark.x", "y").
>>
>> Note that spark.executor.extraJavaOpts not intended for spark
>> configuration (see http://spark.apache.org/docs/latest/configuration.html
>> ).
>>  SPARK_DAEMON_JAVA_OPTS, as you pointed out, is for Spark daemons like
>> the standalone master, worker, and the history server;
>> it is also not intended for spark configurations to be picked up by Spark
>> executors and drivers. In general, any reference to "java opts"
>> in any variable or config refers to java options, as the name implies,
>> not Spark configuration. Unfortunately, it just so happened that we
>> used to mix the two in the same environment variable before 1.0.
>>
>> Is there a reason you're not using spark-submit? Is it for legacy
>> reasons? As of 1.0, most changes to launching Spark applications
>> will be done through spark-submit, so you may miss out on relevant new
>> features or bug fixes.
>>
>> Andrew
>>
>>
>>
>> 2014-06-19 7:41 GMT-07:00 Koert Kuipers <ko...@tresata.com>:
>>
>> still struggling with SPARK_JAVA_OPTS being deprecated. i am using spark
>>> standalone.
>>>
>>> for example if i have a akka timeout setting that i would like to be
>>> applied to every piece of the spark framework (so spark master, spark
>>> workers, spark executor sub-processes, spark-shell, etc.). i used to do
>>> that with SPARK_JAVA_OPTS. now i am unsure.
>>>
>>> SPARK_DAEMON_JAVA_OPTS works for the master and workers, but not for the
>>> spark-shell i think? i tried using SPARK_DAEMON_JAVA_OPTS, and it does not
>>> seem that useful. for example for a worker it does not apply the settings
>>> to the executor sub-processes, while for SPARK_JAVA_OPTS it does do that.
>>> so seems like SPARK_JAVA_OPTS is my only way to change settings for the
>>> executors, yet its deprecated?
>>>
>>>
>>> On Wed, Jun 11, 2014 at 10:59 PM, elyast <lukasz.jastrzeb...@gmail.com>
>>> wrote:
>>>
>>>> Hi,
>>>>
>>>> I tried to use SPARK_JAVA_OPTS in spark-env.sh as well as conf/java-opts
>>>> file to set additional java system properties. In this case I could
>>>> connect
>>>> to tachyon without any problem.
>>>>
>>>> However when I tried setting executor and driver extraJavaOptions in
>>>> spark-defaults.conf it doesn't.
>>>>
>>>> I suspect the root cause may be following:
>>>>
>>>> SparkSubmit doesn't fork additional JVM to actually run either driver or
>>>> executor process and additional system properties are set after JVM is
>>>> created and other classes are loaded. It may happen that Tachyon
>>>> CommonConf
>>>> class is already being loaded and since its Singleton it won't pick up
>>>> and
>>>> changes to system properties.
>>>>
>>>> Please let me know what do u think.
>>>>
>>>> Can I use conf/java-opts ? since it's not really documented anywhere?
>>>>
>>>> Best regards
>>>> Lukasz
>>>>
>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://apache-spark-user-list.1001560.n3.nabble.com/little-confused-about-SPARK-JAVA-OPTS-alternatives-tp5798p7448.html
>>>> Sent from the Apache Spark User List mailing list archive at Nabble.com.
>>>>
>>>
>>>
>>
>

Reply via email to