【发布时间】:2016-11-17 01:30:31
【问题描述】:
我在具有以下设置的 YARN 集群 (HDP 2.4) 中使用 Spark:
- 1 个主节点
- 64 GB RAM(50 GB 可用)
- 24 核(19 核可用)
- 5 个从属节点
- 每个 64 GB RAM(50 GB 可用)
- 每个24核(19核可用)
- 纱线设置
- 所有容器(一台主机)的内存:50 GB
- 最小容器大小 = 2 GB
- 最大容器大小 = 50 GB
- vcores = 19
- 最少 #vcores/container = 1
- 最大#vcores/container = 19
当我使用命令spark-submit --num-executors 30 --executor-cores 3 --executor-memory 7g --driver-cores 1 --driver-memory 1800m ... YARN 运行我的 spark 应用程序时,YARN 会创建 31 个容器(每个执行器进程一个 + 一个驱动程序进程),并具有以下设置:
- 正确:具有 1 个核心和 ~1800 MB RAM 的主容器
- 正确:30 个从属容器,每个容器约 7 GB 内存
- 但不正确:根据 YARN ResourceManager UI,每个从属容器仅使用 1 个核心 而不是 3 个运行(它仅显示 95 个中的 31 个在使用中,而不是 91 = 30 * 3 + 1),见下方截图
我的问题在这里:为什么spark-submit参数--executor-cores 3没有效果?
【问题讨论】:
标签: apache-spark hadoop-yarn hortonworks-data-platform resource-management