Преглед на файлове

[livy] Pass the MASTER environment variable through a YARN app

Erick Tryzelaar преди 10 години
родител
ревизия
092109f
променени са 1 файла, в които са добавени 6 реда и са изтрити 0 реда
  1. 6 0
      apps/spark/java/livy-yarn/src/main/scala/com/cloudera/hue/livy/yarn/Client.scala

+ 6 - 0
apps/spark/java/livy-yarn/src/main/scala/com/cloudera/hue/livy/yarn/Client.scala

@@ -98,6 +98,12 @@ class Client(yarnConf: YarnConfiguration) {
     containerCtx.setCommands(cmds)
     containerCtx.setLocalResources(Map("__package" -> packageResource))
 
+    // FIXME: Spark needs the `MASTER` environment passed through to run on YARN. This needs a better approach.
+    val master = System.getenv("MASTER")
+    if (master != null) {
+      containerCtx.getEnvironment()("MASTER") = master
+    }
+
     appContext.setApplicationId(appId)
     appContext.setAMContainerSpec(containerCtx)
     appContext.setApplicationType("livy")