我无法在EMR上配置Spark Streaming集群资源。
最初,我使用的是"maximizeResourceAllocation": "true"
设置,但是发现它的行为很奇怪(例如,即使我有两个工作节点,也仅向群集分配了一个执行程序)。
然后,我选择在步骤--num-executors,2,--executor-cores,6,--executor-memory,18g
中手动配置传递参数的执行器资源,这确实导致分配了两个执行器。
但是,当我将--driver-memory,3g
添加到那组参数时,它又回到了一个执行器!
我将m3.xlarge
用作主计算机,将2 r3.xlarge
用作核心计算机。
在这一点上,我的方法是使用不同的设置启动集群,并查看集群是否按预期运行,但是不用说这是一个很烦人的方法。在EMR中配置Spark集群的正确方法是什么?
编辑(由于某种原因,该问题被标记为重复的?):我并不是要寻求有关在EMR上选择机器类型的建议。我要问的是如何配置群集资源,以便它利用我选择的计算机并分配正确数量的执行程序,执行程序核心和内存(以及驱动程序)。