Недопустимая переменная среды, когда приложение отправляется из Windows в автономный кластер в режиме кластера - PullRequest
0 голосов
/ 15 апреля 2020

Я работаю с spark.2.3.1. Приложение Spark отправляется из Windows в автономную кластерную искру: //10.101.3.128: 7077 в режиме кластера. Это не удалось с этой ошибкой.

2020-04-15 10:53:09 ERROR ClientEndpoint:70 - Exception from cluster was: java.lang.IllegalArgumentException: Invalid environment variable name: "=D:"
java.lang.IllegalArgumentException: Invalid environment variable name: "=D:"
        at java.lang.ProcessEnvironment.validateVariable(ProcessEnvironment.java:114)
        at java.lang.ProcessEnvironment.access$200(ProcessEnvironment.java:61)
        at java.lang.ProcessEnvironment$Variable.valueOf(ProcessEnvironment.java:170)
        at java.lang.ProcessEnvironment$StringEnvironment.put(ProcessEnvironment.java:242)
        at java.lang.ProcessEnvironment$StringEnvironment.put(ProcessEnvironment.java:221)
        at org.apache.spark.deploy.worker.CommandUtils$$anonfun$buildProcessBuilder$2.apply(CommandUtils.scala:55)
        at org.apache.spark.deploy.worker.CommandUtils$$anonfun$buildProcessBuilder$2.apply(CommandUtils.scala:54)
        at scala.collection.TraversableLike$WithFilter$$anonfun$foreach$1.apply(TraversableLike.scala:733)
        at scala.collection.immutable.HashMap$HashMap1.foreach(HashMap.scala:221)
        at scala.collection.immutable.HashMap$HashTrieMap.foreach(HashMap.scala:428)
        at scala.collection.TraversableLike$WithFilter.foreach(TraversableLike.scala:732)
        at org.apache.spark.deploy.worker.CommandUtils$.buildProcessBuilder(CommandUtils.scala:54)
        at org.apache.spark.deploy.worker.DriverRunner.prepareAndRunDriver(DriverRunner.scala:182)
        at org.apache.spark.deploy.worker.DriverRunner$$anon$1.run(DriverRunner.scala:92)

Я знаю, что есть проблема JDK-818776 в JDK (https://bugs.openjdk.java.net/browse/JDK-8187776). Windows имеет некоторые специальные переменные окружения. Вы можете увидеть их с помощью набора команд "". Например:

D:\>set ""
=D:=D:\
=ExitCode=00000000

Я хочу знать, была ли эта проблема исправлена ​​в Spark (отфильтровать эти переменные) в каком-либо выпуске или будет исправлена ​​в будущем.

Кстати эта проблема не существует с помощью spark: //10.101.3.128: 6066.

Спасибо.

...