我在媒体上读到一篇文章,声称执行器的数量+1(对于驱动程序)应该是3的倍数,以便有效地利用机器上的核心(在本例中为16个核心,即每个执行器5个,为操作系统和节点管理器保留1个)由于实际原因,我无法通过在集群上进行实验来验证这一说法。有人试过这个吗?或者参考代码/文档说明节点将/不在另一个spark应用程序之间共享集群资源?
iyzzxitl1#
这是一个很大的问题,但简而言之,根据文章的标题和内容:您可以通过spark(submit)获得由yarn分配的资源。一个节点有许多执行者。您不能同时共享一个执行器,但如果在某个阶段完成后,动态资源分配生效,则可以放弃该执行器。由于一个节点有许多执行者,许多spark应用程序可以在同一个节点(worker)上并发运行它们的任务,如果它们被授予这些资源的话。
1条答案
按热度按时间iyzzxitl1#
这是一个很大的问题,但简而言之,根据文章的标题和内容:
您可以通过spark(submit)获得由yarn分配的资源。
一个节点有许多执行者。
您不能同时共享一个执行器,但如果在某个阶段完成后,动态资源分配生效,则可以放弃该执行器。
由于一个节点有许多执行者,许多spark应用程序可以在同一个节点(worker)上并发运行它们的任务,如果它们被授予这些资源的话。