You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@crail.apache.org by David Crespi <da...@storedgesystems.com> on 2020/01/12 18:34:23 UTC
Can't find CRAIL_HOME on spark-submit using yarn
Hi All,
I think this is an old problem that seems to have resurfaced.
I’ve pulled the latest crail (v1.2-rc2-1-g8a739dd) and the latest crail-spark, which I believe
this last patch fixed this issue:
(https://github.com/zrlio/crail-spark-io/commit/6880cf691237baffb3d2bf71984ccea6cdd5776c)
But this error below now occurs. Nothing I do seems to get CRAIL_HOME correctly set.
If I change it to something random, then it does show the path, which is the wrong random path…
which I would expect. So it does find it. CRAIL_HOME is set up in all my environments, as well as
being passed to yarn on the command line option.
--conf "spark.yarn.appMasterEnv.CRAIL_HOME=/crail"
I do not get this error when I’m not using yarn, and submitting to a local spark cluster.
Am I missing something or perhaps the crail-client missed an update?
Caused by: java.lang.IllegalArgumentException: CRAIL_HOME environment variable is not set or empty
at org.apache.crail.conf.CrailConfiguration.createConfigurationFromFile(CrailConfiguration.java:48)
at org.apache.spark.storage.CrailDispatcher.org$apache$spark$storage$CrailDispatcher$$init(CrailDispatcher.scala:119)
at org.apache.spark.storage.CrailDispatcher$.get(CrailDispatcher.scala:662)
at org.apache.spark.shuffle.crail.CrailShuffleWriter.<init>(CrailShuffleWriter.scala:43)
at org.apache.spark.shuffle.crail.CrailShuffleManager.getWriter(CrailShuffleManager.scala:75)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:98)
at org.apache.spark.scheduler.ShuffleMapTask.runTask(ShuffleMapTask.scala:55)
at org.apache.spark.scheduler.Task.run(Task.scala:121)
at org.apache.spark.executor.Executor$TaskRunner$$anonfun$10.apply(Executor.scala:408)
at org.apache.spark.util.Utils$.tryWithSafeFinally(Utils.scala:1360)
at org.apache.spark.executor.Executor$TaskRunner.run(Executor.scala:414)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Regards,
David