【发布时间】:2017-06-23 11:22:20
【问题描述】:
我终于设法将我的堆栈设置为使用 RStudio 通过 sparklyR 连接到独立的 spark 集群(在 CassandraDB 中存储文件)。
我仍然无法解决的唯一问题是如何让我的 sparklyR 连接以利用集群上所有可用的工作节点(总共有 6 个)。每次我连接时,Executor Summary 页面都显示 sparklyR 连接只使用了 2 个工作程序(每个节点上有 1 个执行程序)。
我尝试过使用 config.yml 文件来调用spark_connect,包括设置spark.executor.instances: 6 和spark.num.executors: 6,但这并没有什么不同。我可以使用另一种设置来让 sparklyR 使用所有节点吗?我能否以某种方式将所有工作人员 IP 地址的列表传递给 spark_connect 以便它连接到所有这些地址?
我的设置如下: RStudio:1.0.136, 闪闪发光R:0.5.3-9000, Spark 版本(集群和本地):2.0.0。
【问题讨论】:
-
你能分享你的 config.yml 文件吗?
-
当然,这里是关键设置(抱歉,不确定如何在评论中格式化): sparklyr.sanitize.column.names: TRUE sparklyr.cores.local: 3 sparklyr.shell.driver -memory:“8G” spark.executor.memory:“8G” spark.executor.cores:5 spark.cores.max:12 spark.memory.fraction:0.75 spark.memory.storageFraction:0.5 spark.serializer:org.apache .spark.serializer.KryoSerializer
-
我也试过添加
spark.executor.instances: 6, spark.num.executors: 6,但没有任何区别。 -
您可以尝试添加以下两个属性吗?
spark.dynamicAllocation.enabled: true和spark.shuffle.service.enabled: true -
如果我添加它,我没有内核和节点分配给我的 sparklyr 工作:-(
标签: apache-spark rstudio sparklyr