Ошибка искры RSparkling на YARN (java.lang.ClassNotFoundException: water.fvec.frame) - PullRequest
0 голосов
/ 28 августа 2018

Я пытаюсь настроить свою среду R для запуска алгоритмов H2O в кластере YARN. (не имеют доступа к Интернету по соображениям безопасности - работает на R Server)

Вот мои текущие настройки среды:

  • версия свечи: 2.2.0.2.6.3.0-235 (2.2)
  • мастер: YARN клиент
  • rsparkling версия: 0.2.5
  • газированная вода: 2.2.16
  • h2o версия: 3.18.0.10
  • версия sparklyr: 0.7.0

Я проверил таблицу h2o_version для всех отображений версий, но все еще получаю эту ошибку, когда я запускаю код:

options(rsparkling.sparklingwater.version = "2.2.16")
options(rsparkling.sparklingwater.location = "path to my sparkling water.jar") 

Sys.setenv(SPARK_HOME = "path to my spark") 
Sys.setenv(SPARK_VERSION = "2.2.0") 
Sys.setenv(HADOOP_CONF_DIR = "...") 
Sys.setenv(MASTER = "yarn-client") 

library(sparklyr) 
library(h2o) 
library(rsparkling) 

sc = spark_connect(master = Sys.getenv("SPARK_MASTER"), spark_home = Sys.getenv("SPARK_HOME"), version = Sys.getenv("SPARK_VERSION")) 
h2o_context(sc) 

R Server ERROR output: 
Error: java.lang.ClassNotFoundExecption: water.fvec.Frame 
       at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
       at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
...

Вещи, которые я пробовал:

  • Следуйте инструкциям здесь
  • Переустановка пакета h2o и несколько попыток
  • Попробовать разные версии воды и газированной воды (3.18.0.5 и 2.2.11 соответственно)

Я уверен, что это не будет ошибкой версии, поскольку я сопоставляю их в соответствии с h2o_release_table (), как показано. Пожалуйста, помогите или направьте меня к решению.

1 Ответ

0 голосов
/ 05 сентября 2018

(проблема решена)

Оказывается, что был другой файл sparkling-water-core_2.11-2.2.16.jar в каталоге / jar / в моем пути spark-client, и поэтому был непосредственно прочитан как часть записей Classpath, вызывая конфликт. (Подтверждено на вкладке Spark UI Environment) Я безуспешно поиграл с Spark Classpath, поэтому мне пришлось запросить удаление файла.

После этого проблема была исправлена. Я также проверил это с различными версиями JAR с газированной водой и пакетом h2o R. (sw 2.2.11 и h2o 3.18.0.5, sw 2.2.19 и h2o 3.20.0.2)

options(rsparkling.sparklingwater.version = "2.2.16")
options(rsparkling.sparklingwater.location = "path to my sparkling water.jar") 

Sys.setenv(SPARK_HOME = "path to my spark") 
Sys.setenv(SPARK_VERSION = "2.2.0") 
Sys.setenv(HADOOP_CONF_DIR = "...") 
Sys.setenv(MASTER = "yarn-client") 

library(sparklyr) 
library(h2o) 
library(rsparkling) 

sc = spark_connect(master = Sys.getenv("SPARK_MASTER"), 
                   spark_home = Sys.getenv("SPARK_HOME"), 
                   version = Sys.getenv("SPARK_VERSION")) 
h2o_context(sc) 

Немного неловко отвечать на мой собственный вопрос, но я надеюсь, что это поможет всем, кто в этом нуждается!

...