在纱线上安排火花作业时,是否有可能控制执行者是否放置在物理节点上?
我目前将spark.executor.cores
设置为4。
现在,当YARN在同一数据节点上放置多个执行器时,4* #numberOfExecutorsOnSameNode
个线程试图读取,并且可能还会交换,因为HDFS和spark的临时目录位于同一磁盘上。
因此,这会导致有关IO时间阻塞的巨大问题。目前尚无法获得SSD。还有其他可以尝试的东西吗?
答案 0 :(得分:0)
一个快速的解决方法是增加spark.executor.memory
,因为这可能会过度分配内存,但会阻止在同一数据节点上启动太多执行程序。