我终于设法将我的堆栈设置为使用RStudio通过sparklyR连接到独立的spark集群(在CassandraDB中使用文件存储)。
我仍然无法解决的唯一问题是如何让我的sparklyR连接利用群集上的所有可用工作节点(总共有6个)。每次连接时,Executor Summary页面都会显示sparklyR连接仅使用2个worker(每个节点上有1个执行程序)。
我尝试过使用spark_connect
来电的config.yml文件,包括设置spark.executor.instances: 6
和spark.num.executors: 6
,但这并没有什么区别。我可以用另一个设置让sparklyR使用所有节点吗?我可以以某种方式将所有工作人员IP地址的列表传递给spark_connect
,以便它们全部连接到它们吗?
我的设置如下: RStudio:1.0.136, sparklyR:0.5.3-9000, Spark版本(在集群和本地):2.0.0。
答案 0 :(得分:1)
终于解决了!它是如此简单明显,我无法相信我错过了它。
配置(spark-defaults.conf
)文件具有以下设置:
spark.executor.cores: 5
spark.cores.max: 12
这当然意味着它无法启动超过2个(5核)执行程序,因为允许整个应用程序的最大核心数为12个。