I want to run a spark streaming application on a yarn cluster on a remote server. The default java version is 1.7 but i want to use 1.8 for my application which is also there in the server but is not the default. Is there a way to specify through spark-submit the location of java 1.8 so that i do not get major.minor error ?
JAVA_HOME was not enough in our case, the driver was running in java 8, but I discovered later that Spark workers in YARN were launched using java 7 (hadoop nodes have both java version installed).
I had to add spark.executorEnv.JAVA_HOME=/usr/java/<version available in workers>
in spark-defaults.conf
. Note that you can provide it in command line with --conf
.
See http://spark.apache.org/docs/latest/configuration.html#runtime-environment