apache-spark - “由于向上取整,YARN 容器的大小增加”加起来是火花开销内存还是火花执行器内存?
问题描述
据我了解,当 YARN 根据 spark 配置请求分配容器时,YARN 会自动将容器大小四舍五入为 'yarn.scheduler.minimum-allocation-mb' 的倍数。
例如,
yarn.scheduler.minimum-allocation-mb:2 GB
spark.executor.memory:4 GB
spark.yarn.executor.memory 开销:384 MB
Spark 执行器对 YARN 的总体内存要求为 [4 GB + 384 MB] = 4.384 GB
Spark 向 YARN 提出 4.384 GB 容器大小的请求,但 YARN 分配大小为 2 GB 的容器(yarn.scheduler.minimum-allocation-mb),因此在这种情况下,它返回大小为 6 GB 的容器(将 4.384 舍入为 6 )。因此 spark executor JVM 在 YARN 容器内以 6 GB 大小启动。
因此,原始 spark-executor-memory 请求为 = 4.384 GB,但 YARN 分配的内存为 = 6 GB
执行器大小增量 = 6 - 4.384 GB = 1.6 GB
我的问题是,据我了解,每个 spark 执行器整体内存增加了 1.6 GB,其中包括执行器内存和开销内存,整体 spark 执行器内存的哪一部分增加了 1.6 GB。是 spark.yarn.executor.memoryOverhead (或) spark.executor.memory 吗?spark 如何使用由于 YARN 舍入而获得的额外内存?
解决方案
推荐阅读
- reactjs - React 钩子切换 setState
- c# - Xamarin Foms UWP - KnownFolders.PicturesLibrary 现在返回 OneDrive
- flutter - 颤振容器匹配列内的父级
- swift - 向下转型多态性和赋值
- vue.js - (VueJS)每当显示时更新组件
- django - Django excludefiled__in 不过滤数据
- elasticsearch - 为什么我得到的桶数总是等于聚合方面的指定大小?
- java - 如何让多个 Java 线程根据用户的请求暂停和恢复?
- nlog - 未为记录器配置目标。Linux + 单声道
- sql - 如何强制在 SQL 中缺少连接?