如何从Sparklyr连接Google Dataproc群集?

时间:2016-09-28 20:56:10

标签: google-cloud-platform google-cloud-dataproc sparklyr

我是Spark和GCP的新手。我试图用

连接到它
sc <- spark_connect(master = "IP address")

但它显然无法工作(例如没有身份验证)。

我该怎么做?是否可以从Google Cloud外部连接到它?

1 个答案:

答案 0 :(得分:2)

从群集外部连接到Dataproc上的Spark有两个问题:配置和网络访问。它通常有点困难而且不完全支持,所以我建议在群集中使用sparklyr。

配置

Google Cloud Dataproc在Hadoop YARN上运行Spark。您实际上需要使用yarn-cluster

sc <- spark_connect(master = 'yarn-client')

但是,您还需要yarn-site.xml目录中的$SPARK_HOME将Spark指向正确的主机名。

网络访问

虽然您可以使用Google Compute Engine网络上的firewall rules为您的IP地址打开端口,但这并不是一种良好的安全措施。您还需要配置YARN以使用实例的外部IP地址,或者有办法解析计算机上的主机名。

在Dataproc上使用sparklyr

sparklyr可以通过SSH连接到主节点并运行:

来安装和运行R REPL
$ # Needed for the curl library
$ sudo apt-get install -y libcurl4-openssl-dev
$ R
> install.packages('sparklyr')
> library(sparklyr)
> sc <- spark_connect(master = 'yarn-client')

我相信RStudio Server支持SOCKS代理,可以设置as described here,但我对RStudio不太熟悉。

我将Apache Zeppelin on Dataproc用于R笔记本电脑,但它会自动加载SparkR,我认为此时我并不认为它可以与闪光灯配合使用。