14

经过漫长而艰难的 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 集群上开始测试。

4

7 回答 7

5

我认为这是一个现已解决的错误。试试下面的,

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 命令启动 javaC:\spark-1.4.0/bin/spark-submit.cmd sparkr-shell

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

希望这可以帮助。

于 2015-07-14T01:48:51.327 回答
2

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

转到您的环境变量并在系统变量中选择变量名 PATH。与其他值一起添加c:/Windows/System32/以分号分隔。这使我的 spark-submit.cmd 从命令行运行,最终从 Rstudio 运行。

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

我希望这有帮助。

于 2015-07-29T16:16:28.737 回答
1

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

于 2015-08-12T19:44:15.447 回答
0

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

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

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

  3. 在窗口控制面板->系统->高级系统设置->环境变量中,在现有 PATH 变量的末尾添加此“;C:\Apache\Spark-1.5.1\bin”。

  4. 启动RStudio,如果输入.libPaths(),可以看到SparkR库路径已经在库路径中了

  5. 使用 library(SparkR) 加载 SparkR 库

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

我在 Spark 1.4.1 和 1.5.1 上都试过了,它们都可以正常工作。我希望这可以帮助在上述所有建议之后仍然有问题的人。

于 2015-11-03T16:22:40.273 回答
0

我有一个类似的问题。就我而言,问题出在连字符('-')上。
通过更改代码:

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

为我工作。你注意到变化了吗?

PS:请复制 jar 到您的 SPARK_HOME\lib 文件夹中

编辑1:另外,检查您是否配置了“HADOOP_HOME”


希望这可以帮助。

于 2016-04-25T07:59:31.910 回答
0

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

于 2016-06-07T17:28:33.173 回答
0

我也有这个错误,原因不同。在引擎盖下,Spark 调用

system2(sparkSubmitBin, combinedArgs, wait = F)

有很多方法可能会出错。在我的情况下,基本错误(在直接作为实验调用之前不可见system2)是“不支持 UNC 路径。”我不得不将 R Studio 中的工作目录更改为不属于网络共享的目录,然后将其更改为开始工作。

于 2016-06-13T14:45:00.407 回答