【问题标题】:SparklyR connection to standalone spark cluster only connecting to 2/6 workersSparklyR 连接到独立的 Spark 集群,仅连接到 2/6 个工作人员
【发布时间】: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


【解决方案1】:

终于解决了!它是如此简单和明显,我不敢相信我错过了它。

配置 (spark-defaults.conf) 文件具有以下设置:

spark.executor.cores: 5
spark.cores.max: 12

这当然意味着它不能启动超过 2 个(5 核)的执行程序,因为整个应用程序允许的最大核心数是 12。

【讨论】:

    猜你喜欢
    • 2020-02-06
    • 2019-01-05
    • 2018-09-04
    • 1970-01-01
    • 1970-01-01
    • 2017-02-09
    • 2017-07-02
    • 2018-12-22
    • 2020-11-08
    相关资源
    最近更新 更多