-1

我在 Medium 上读过一篇文章,声称执行器的数量 + 1(用于驱动程序)应该是 3 的倍数,以有效利用机器上的核心(在这种情况下为 16 个核心,即每个执行器 5 个和 1 个将保留给操作系统和节点管理器)

由于实际原因,我无法通过在集群上进行试验来验证此声明。有人试过这个吗?或参考代码/文档说明 Yarn 节点将/不会在另一个 Spark 应用程序之间共享集群资源?

4

1 回答 1

0

这是一个很大的问题,但简而言之 - 基于文本中的标题和 YARN:

  • 您会获得通过 Spark(提交)请求的 YARN 分配的资源。

  • 一个节点有许多执行者。

  • 您不能同时共享 Executor,但如果 YARN 动态资源分配生效,则可以在 Stage 完成后放弃 Executor。

  • 由于一个节点有许多执行器,许多 Spark 应用程序可以在同一个节点 Worker 上同时运行它们的任务,如果它们被授予这些资源的话。

于 2020-08-17T20:11:45.643 回答