容器是YARN中的抽象概念。在YARN上运行Spark时,每个Spark执行程序都作为YARN容器运行。每个客户端提交的应用程序可以在每个节点管理器中启动多少个YARN容器?
答案 0 :(得分:0)
只要拥有资源,就可以根据需要在单个NodeManager上运行尽可能多的执行程序。如果您的服务器具有20GB RAM和10个内核,则可以在该nodemanager上运行10个2gb 1core执行程序。在同一个nodemanager上运行多个执行程序是不明智的,因为执行程序之间的数据混乱会产生开销,即使它们的进程在同一台机器上运行也是如此。
答案 1 :(得分:0)
每个执行程序都在YARN容器中运行。
根据YARN群集的大小,您的数据如何在工作节点之间展开,以获得更好的数据位置,为应用程序请求的执行程序数,每个执行程序的核心数(每个执行程序的内核数)每个执行程序请求以及您是否已启用动态资源分配,Spark决定总共需要多少执行程序,以及每个工作节点启动多少执行程序。
如果您请求YARN群集无法容纳的资源,您的请求将被拒绝。
以下是制作spark-submit请求时要注意的属性。