Apache spark 客户端提交的每个应用程序可以在每个节点管理器中启动多少个纱线容器?

Apache spark 客户端提交的每个应用程序可以在每个节点管理器中启动多少个纱线容器?,apache-spark,containers,yarn,workmanagertaskexecutor,Apache Spark,Containers,Yarn,Workmanagertaskexecutor,容器是一个抽象的概念。在纱线上运行火花时,每个火花执行器作为纱线容器运行。每个客户端提交的应用程序可以在每个节点管理器中启动多少个纱线容器?只要有资源,您可以在单个节点管理器上运行任意数量的执行器。如果您的服务器具有20gb RAM和10个核心,则可以在该节点管理器上运行10个2gb 1核心执行器。不建议在同一个nodemanager上运行多个执行器,因为在执行器之间洗牌数据会产生开销,即使它们的进程在同一台机器上运行。每个执行器在一个容器中运行 根据纱线簇的大小、数据在工作节点之间的分布方式以

容器是一个抽象的概念。在纱线上运行火花时,每个火花执行器作为纱线容器运行。每个客户端提交的应用程序可以在每个节点管理器中启动多少个纱线容器?

只要有资源,您可以在单个节点管理器上运行任意数量的执行器。如果您的服务器具有20gb RAM和10个核心,则可以在该节点管理器上运行10个2gb 1核心执行器。不建议在同一个nodemanager上运行多个执行器,因为在执行器之间洗牌数据会产生开销,即使它们的进程在同一台机器上运行。

每个执行器在一个容器中运行

根据纱线簇的大小、数据在工作节点之间的分布方式以获得更好的数据位置、为应用程序请求的执行器数量、每个执行器请求的资源量(每个执行器的内核数、每个执行器的内存数)以及是否启用了动态资源分配,Spark决定总共需要多少执行器,以及每个工作节点要启动多少执行器

如果您请求的资源纱线集群无法容纳,您请求的将被拒绝

以下是发出spark提交请求时要注意的属性

  • --num executors-您需要的执行者总数
  • --执行者核心-每个执行者的核心数量。建议最大值为5
  • --executor memory—每个执行器的内存量
  • --spark.DynamicLocation.enabled
  • --spark.DynamicLocation.maxExecutors

为了便于阅读,对短语进行了重新排序。