无法在 RStudio 中启动 SparkR

Unable to launch SparkR in 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

我还尝试添加一些系统变量,例如 spark 路径或 java 路径。

你有什么建议可以帮助我解决这些问题吗?

我在测试本地主机后的下一步是在我的 运行 hadoop 集群上开始测试。

我认为这是一个错误,现在已经解决了。 尝试以下操作,

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")

使用 spark-submit 命令启动 java C:\spark-1.4.0/bin/spark-submit.cmd sparkr-shell

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

希望这对您有所帮助。

我遇到了同样的问题,我的 spark-submit.cmd 文件也没有从命令行执行。以下步骤对我有用

转到您的环境变量和系统变量 select 变量名 PATH。与其他值一起添加 c:/Windows/System32/,用分号分隔。这使我的 spark-submit.cmd 运行 来自命令行,最终来自 Rstudio。

我已经意识到,只有在未指定所有必需的路径值时才会出现上述问题。确保在环境变量中指定了所有路径值(R、Rtools)。例如我的 Rtools 路径是 c:\Rtools\bin;c:\Rtools\gcc-4.6.3\bin

希望对您有所帮助。

这对我不起作用。如果有人遇到同样的问题,请尝试将执行权限授予 c:/sparkpath/bin/spark-submit.cmd.

我遇到了完全相同的问题。我可以在命令行中启动 SparkR,但不能在 Windows 中的 RStudio 中启动。这是适合我的解决方案。

  1. 清除您尝试修复此问题时设置的所有路径。这包括您从 window 控制面板在 windows 环境中设置的路径,并使用 Sys.unsetenv() 取消设置 SPARK_HOME。

  2. 通过在 RStudio 中使用 getwd() 找出您的 RStudio 默认工作目录。然后在该目录下创建一个.Rprofile 文件。将以下行放入此文件中: .libPaths("C:/Apache/Spark-1.5.1/R/lib")

  3. 在window控制面板->系统->高级系统设置->环境变量,添加这个";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 上都试过了,它们都工作正常。我希望这可以帮助那些在上面的所有建议之后仍然有问题的人。

我遇到了类似的问题。在我的例子中,问题出在连字符 ('-').
通过更改代码:

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

至:

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

对我有用。你注意到变化了吗?

P.S.: 将 jar 复制到 SPARK_HOME\lib 文件夹

编辑 1:此外,请检查您是否已配置 "HADOOP_HOME"


希望对您有所帮助。

以下解决方案适用于 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

我也有这个错误,原因不同。在后台,Spark 调用

system2(sparkSubmitBin, combinedArgs, wait = F)

有很多方法可能会出错。在我的例子中,潜在的错误(在直接调用 system2 作为实验之前是不可见的)是“"UNC path are not supported." 我不得不将我在 R studio 中的工作目录更改为一个不属于网络共享的目录,并且然后它开始工作了。