5

我是 Spark 和 GCP 的新手。我试图连接到它

sc <- spark_connect(master = "IP address")

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

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

4

1 回答 1

3

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

配置

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

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

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

网络访问

虽然您可以使用 Google Compute Engine 网络上的防火墙规则打开您的 IP 地址的端口,但这并不是一种好的安全做法。您还需要配置 YARN 以使用实例的外部 IP 地址或有办法解析您机器上的主机名。

在 Dataproc 上使用 sparklyr

通过 SSH 连接到主节点并运行,可以使用 R REPL 安装和运行 sparklyr:

$ # 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 代理,可以按照此处所述进行设置,但我对 RStudio 不是很熟悉。

在 Dataproc 上为 R 笔记本使用 Apache Zeppelin,但它会自动加载 SparkR,我认为目前它不能很好地与 sparklyr 配合使用。

于 2016-09-29T22:10:51.837 回答