首页 文章

执行者可以在spark中共享核心吗?

提问于
浏览
0

在配置spark作业时,我有时会看到人们建议每个执行程序的核心数大于核心总数除以执行程序数 .

值得注意的是,在这个example中,@ 0x0FFF建议如下:

--num-executors 4 --executor-memory 12g --executor-cores 4

如果我们计算 Actuator 核心的总数,我们得到 4 cores per executor * 4 executors total = 16 cores total .
但是,在问题的开头它说"I have one NameNode and two DataNode with 30GB of RAM each, 4 cores each" . 因此,核心总数为 2 worker nodes * 4 cores each = 8 cores .

是否有可能 4 executors 使用 16 cores 与此硬件?如果是这样,怎么样?

1 回答

  • 0

    因此,正如我在评论中所写,Spark将为每个核心旋转一个线程,我知道对于YARN,您不能分配比执行程序可用的更多核心 . 如果这样做,它就不会启动那些执行程序 . 这在Cloudera的this blog post中也有更详细的描述 .

相关问题