首页 > 解决方案 > YARN 容器和 Spark 执行器

问题描述

我目前有一个由 1 个驱动程序(8 个内核和 32GB RAM)和 2 个工作人员(8 个内核和 32gb RAM 之一,另一个是 8 个内核和 16gb RAM)组成的功能集群

但是,为了最大限度地提高效率,我似乎在生成的容器和 Spark 执行器之间有点混淆。

我当前的配置如下:

工人 1: 在此处输入图像描述

工人 2: 在此处输入图像描述

我的 SparkSession 配置是这些:

在此处输入图像描述

我希望在 Yarn 中运行 3 个容器,1 个用于驱动程序,2 个用于 Spark,但是我得到的输出如下:

在此处输入图像描述 在此处输入图像描述

只有两个Container,一个分配给RM,第二个分配给Worker。但是,如果我的工人(具有 16gb RAM 的那个)正在创建一个执行器,那么只有一个,为什么另一个没有创建一个执行器?

如何实现最大资源使用以拥有高速 Spark 应用程序

标签: apache-sparkhadoophadoop-yarn

解决方案


推荐阅读