Не удалось запустить SparkR в RStudio

После долгого и сложного процесса установки SparkR я столкнулся с новыми проблемами запуска SparkR.

Мои настройки

R 3.2.0    
RStudio 0.98.1103    
Rtools 3.3    
Spark 1.4.0
Java Version 8
SparkR 1.4.0
Windows 7 SP 1  64 Bit

Теперь я пытаюсь использовать следующий код в R:

library(devtools)
library(SparkR)
Sys.setenv(SPARK_MEM="1g")
Sys.setenv(SPARK_HOME="C:/spark-1.4.0")
sc <- sparkR.init(master="local")

Я получаю следующее:

JVM is not ready after 10 seconds

Я также пытался добавить некоторые системные переменные, такие как путь искры или путь java.

У вас есть какие-либо советы для меня, чтобы решить эту проблему.

Следующим шагом для меня после тестирования локального хоста будет запуск тестов на моем работающем кластере Hadoop.


person Patrick C.    schedule 29.06.2015    source источник
comment
Похоже, что проблема связана с Windows или, по крайней мере, не воспроизводится в Debian GNU/Linux, R 3.2.1, Spark 1.4.0, RStudio 0.98.1103, OpenJDK 7u79. Дополнительная информация о конфигурации вашей ОС может быть полезна.   -  person zero323    schedule 29.06.2015
comment
Когда я использую sc ‹- sparkR.init(master=local), я получаю запуск Java с помощью команды spark-submit C:/spark-1.4.0/bin/spark-submit.cmd sparkr-shell. Может быть, ошибка в моих переменных среды или, может быть, в моей версии Java? Или в запущенной оболочке?   -  person Patrick C.    schedule 30.06.2015


Ответы (7)


Я думаю, что это была ошибка, которая теперь исправлена. Попробуйте следующее,

Sys.setenv(SPARK_HOME="C:\\spark-1.4.0")

.libPaths(c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib"), .libPaths()))

library("SparkR", lib.loc="C:\\spark-1.4.0\\lib") # The use of \\ is for windows environment.

library(SparkR)

sc=sparkR.init(master="local")

Запуск Java с помощью команды spark-submit C:\spark-1.4.0/bin/spark-submit.cmd sparkr-shell

C:\Users\Ashish\AppData\Local\Temp\RtmpWqFsOB\backend_portbdc329477c6

Надеюсь это поможет.

person mnm    schedule 14.07.2015
comment
Спасибо. В конце концов, я, возможно, продолжу с python, но команда .libPaths... работает для меня. Я думаю, что еще одна проблема заключается в том, чтобы получить правильную версию искры (предварительно собранную с помощью Hadoop). - person Patrick C.; 24.07.2015
comment
Это не помогло мне. Я использую Spark 1.4.1 с R 3.1.3 на RStudio 0.98.1103 под управлением 64-битной Windows 7. У вас есть другие идеи? - person Julien Navarre; 29.07.2015
comment
@Julien, что за сообщение об ошибке? Решение, которое я опубликовал ранее, работало для меня как для 32-битной, так и для 64-битной ОС Win 7. - person mnm; 29.07.2015

У меня была та же проблема, и мой файл spark-submit.cmd также не выполнялся из командной строки. Следующие шаги сработали для меня

Перейдите к переменным среды и в системных переменных выберите имя переменной PATH. Наряду с другими значениями добавьте c:/Windows/System32/ через точку с запятой. Это заставило мой spark-submit.cmd запускаться из командной строки и, в конечном итоге, из Rstudio.

Я понял, что мы получаем указанную выше проблему, только если не указаны все необходимые значения пути. Убедитесь, что все ваши значения пути (R, Rtools) указаны в переменных среды. Например, мой путь Rtools был c:\Rtools\bin;c:\Rtools\gcc-4.6.3\bin

Надеюсь, это поможет.

person Nahush    schedule 29.07.2015
comment
Это решение хорошо сработало для меня. Вам необходимо загрузить Rtools (замороженную версию), подходящую для вашей версии R. Отметьте путь Edith в мастере установки Rtools, чтобы он мог добавить 2 реестра в ваш PATH. Тогда sc = sparkR.init(master=local) будет работать нормально. - person NuValue; 02.05.2016

Это не сработало для меня. Если у кого-то возникла такая же проблема, попробуйте дать права на выполнение для c:/sparkpath/bin/spark-submit.cmd.

person Hannibaal    schedule 12.08.2015

У меня была точно такая же проблема. Я могу запустить SparkR в командной строке, но не в RStudio в Windows. И вот решение работает для меня.

  1. очистите все пути, которые вы установили, когда пытались решить эту проблему. Это включает в себя пути, которые вы установили в среде Windows из панели управления окнами, и использует Sys.unsetenv() для сброса SPARK_HOME.

  2. узнайте свой рабочий каталог RStudio по умолчанию, используя getwd() в RStudio. Затем создайте файл .Rprofile в этом каталоге. Поместите в этот файл следующую строку: .libPaths("C:/Apache/Spark-1.5.1/R/lib")

  3. В панели управления окна->Система->Дополнительные системные настройки->Переменные среды добавьте это «;C:\Apache\Spark-1.5.1\bin» в конец существующей переменной PATH.

  4. Запустите RStudio, если вы наберете .libPaths(), вы увидите, что путь к библиотеке SparkR уже указан в пути к библиотеке.

  5. используйте библиотеку (SparkR) для загрузки библиотеки SparkR

  6. sc=sparkR.init(master="local")

Я пробовал это как на Spark 1.4.1, так и на 1.5.1, они оба работают нормально. Я надеюсь, что это может помочь тем, у кого все еще есть проблемы после всего вышеперечисленного.

person Vivian Yang    schedule 03.11.2015

У меня была аналогичная проблема. В моем случае проблема была с дефисом ('-').
путем изменения кода:

sc <- sparkR.init(master = "local[*]",sparkPackages = c("com.databricks:spark-csv_2.11-1.4.0"))

to:

sc <- sparkR.init(master = "local[*]",sparkPackages = c("com.databricks:spark-csv_2.11:1.4.0"))

работал на меня. Вы замечаете изменение?

P.S.: Скопируйте банку в папку SPARK_HOME\lib

Редактировать 1: Также убедитесь, что вы настроили свой «HADOOP_HOME»


Надеюсь, это поможет.

person Vishal R    schedule 25.04.2016

Следующее решение будет работать для Mac OS.

После установки Hadoop следует Spark.

spark_path <- strsplit(system("brew info apache-spark",intern=T)[4],' ')[[1]][1] # Get your spark path .libPaths(c(file.path(spark_path,"libexec", "R", "lib"), .libPaths())) library(SparkR

person mavez DABAS    schedule 07.06.2016

У меня тоже была эта ошибка, по другой причине. Под капотом Spark звонит

system2(sparkSubmitBin, combinedArgs, wait = F)

Есть много способов, как это может пойти не так. В моем случае основной ошибкой (невидимой до вызова system2 напрямую в качестве эксперимента) была «Путь UNC не поддерживается». Мне пришлось изменить свой рабочий каталог в R studio на каталог, который не был частью общего сетевого ресурса, а затем он начал работать.

person mattinbits    schedule 13.06.2016