如何理解spark on yarn内存分配
发表于:2025-02-23 作者:千家信息网编辑
千家信息网最后更新 2025年02月23日,如何理解spark on yarn内存分配,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。1. 基础概念要掌握这个知识点,要了解以下几个点
千家信息网最后更新 2025年02月23日如何理解spark on yarn内存分配1. 基础概念 要掌握这个知识点,要了解以下几个点:
首先,讲一下上面的这三个概念吧: 1). spark.driver.memory 默认值1g。driver进程的on-heap内存,driver进程就是sparkcontext初始化所在的进程。在client模式下driver的堆内存,不要通过SparkConf设置,要用--driver-memory命令替换,或者在默认的配置文件里配置。 2). spark.driver.memoryOverhead 默认值是max(DriverMemory*0.1,384m)。在YARN或者kubernetes模式的cluster模式下,driver端申请的off-heap内存的总量,通常是driver堆内存的6%-10%。 3). spark.executor.memory 默认值1g。Executor的jvm内存总量。 4). spark.executor.memoryOverhead 默认值max(executor*0.1,384).单个executor申请的off-heap内存的总量。该参数仅仅支持在yarn或者kubernetes上使用,通常可以是executor内存的0.06-0.1。 5).spark.yarn.am.memory 默认值512m,Appmaster在client模式下的内存。假如是Cluster模式下会使用spark.driver.memory来代替。 6).Yarn的最小调度单元 yarn调度container有个最小粒度,资源调度的时候必须是其整数倍,最小粒度的配置参数是 最小调度单元默认值是1024,单位是mb。 2.cluster模式 浪尖这里的案例是40个executor,单个executor内存申请的时候是20GB,driver是20GB,yarn的web ui截图如下: 整个APP申请的总内存是 923648MB=902GB。 spark app申请的单个 Executor内存,从1.3和1.4可以得知是:
那么40个executor内存是:
spark on yarn 的cluster模式下Driver端与appmaster是在一起的,所以appmaster内存参数无效,因此driver和executor总内存由1.1和1.2可得: 那么计算所得的总内存是: 上面计算的案例中,由于浪院长这里的yarn集群内存调度的最小粒度是1GB貌似,在上面的计算中没有参与度。 3.cluster模式下
此时假设是10个executor,每个executor的内存是19GB,driver的内存依然是19GB。 首先,我们先看一下,web ui的总内存:
换算成GB就是236544MB/1024 = 231GB
那么经计算可以指导单个executor的内存是: 19*1.1GB =20.9GB Yarn的最小调度单元是1GB,所以单个executor调度的时候内存是21GB。 10个executor的总内存就是 21 *10 = 210GB 经计算可以得到driver的内存是19*1.1GB= 21GB 那么计算所得的spark app内存和 yarn ui上所得内存一致。 4.注意点
上述计算要想正确要确保: 没有开启动态executor申请与释放,假设开启了,要视情况计算。
如何理解spark on yarn内存分配,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
spark driver和executor的on-heap内存是如何配置的。 spark driver和excutor的off-heap内存是如何配置的。 yarn的最小调度单元。
yarn.scheduler.minimum-allocation-mb
20GB * 0.1 +20GB=22GB
22GB * 40 = 880GB
20GB * 0.1 +20GB=22G
22GB+88 GB正好是 902GB。
看完上述内容,你们掌握如何理解spark on yarn内存分配的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注行业资讯频道,感谢各位的阅读!
内存
模式
调度
最小
单个
配置
单元
参数
就是
总量
所得
时候
粒度
进程
分配
内容
方法
更多
案例
概念
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
软件开发多人协助
更改服务器本地安全策略
网络安全法是什么的能力
广西贫困生档案数据库网址
广州爱浦路网络技术有限公司招聘
智慧停车管理系统数据库密码
泉州征途教育软件开发
妙赞软件开发多久了
信息技术为什么离不开数据库
谷歌 社招 网络安全
数据库的多对多关系用什么图
数据库空间怎么迁移
重庆学习软件开发排行
银河破坏者数据库
微信小程序软件开发流程
教育数据库填写有什么用
湛江智能软件开发哪家好
众筹软件开发要多少钱
校园网络安全与维护图片
俄罗斯网络安全公司有哪些
网络安全小视频剧本
下不上数据库文件
utc数据库
网络安全产品按功能分类
nexis数据库不对个人开放吗
网络技术专业的职位
如何在后端保证数据库安全
海南软件开发有限公司怎么样
aca云数据库题库 百度网盘
系统网络安全哪家强