使用Sparkr连接到远程独立Spark

时间:2019-05-06 10:51:25

标签: r apache-spark sparkr

我可以像这样在远程机器上使用独立的Spark安装:

library(SparkR, lib.loc = c(file.path(Sys.getenv("SPARK_HOME"), "R", "lib")))
sparkR.session(master = "local[*]", sparkConfig = list(spark.driver.memory = "2g"))

我想知道如何从远程计算机访问此独立的Spark安装。我认为端口是7077。所以我目前尝试:

library(SparkR)
sparkR.session(master = "spark://NameOfVM:7077", sparkConfig = list(spark.driver.memory = "2g"))

首先,我在这些方面遇到错误:

Spark not found in SPARK_HOME

我真的必须在客户端上安装Spark吗,尽管它可以在远程计算机上运行?有点令人困惑……无论如何,以上命令似乎会安装Spark:

Installing to C:\Users\User1234\AppData\Local\Apache\Spark\Cache
DONE.
SPARK_HOME set to C:\Users\User1234\AppData\Local\Apache\Spark\Cache/spark-2.4.2-bin-hadoop2.7

为什么远程独立Spark安装的客户端需要安装spark?

此后我得到:

Error in sparkR.sparkContext(master, appName, sparkHome, sparkConfigMap,  : 
  JVM is not ready after 10 seconds

1 个答案:

答案 0 :(得分:1)

尽管您不需要在本地计算机上运行Spark,但是您需要本地安装,以便可以使用spark-submit机制启动Spark App。因此需要SPARK_HOME。