首页 > 解决方案 > 使用 sparkr 连接到远程独立 spark

问题描述

我可以像这样在我的远程机器上使用我的独立 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

标签: rapache-sparksparkr

解决方案


尽管您不需要在本地计算机上运行 Spark,但您确实需要本地安装,以便您可以使用 spark-submit 机制来启动您的 Spark 应用程序。因此需要 SPARK_HOME。


推荐阅读