IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 三、Spark集群资源分配及并行度调优 -> 正文阅读

[大数据]三、Spark集群资源分配及并行度调优

上一篇:二、Spark算子调优最佳实践

?1、内存的具体配置及原因

YARN Container里面实际的内存结构,即yarn-cluster模式下Executor内存使用的实现方式,如下图:

?yarn.nodemanager.resource.memory-mb控制在每个节点上Container能够使用的最大内存。可以使用spark.executor.memory来配置每个Executor使用的内存总量。比如:

--executor-memory 8G

Executor可使用的内存中,主要分为以下三块:

  • 第一块让task执行用户编写的代码使用,默认占executor总内存的20%
  • 第二块让task通过shuffle过程拉取上一个stage的task的输出后,进行聚合等操作使用,默认也是占executor内存总大小的20%,用spark.shuffle.memoryFraction可配置比例。
  • 第三块是让RDD cache使用,默认占executor总内存大小的60%,用spark.storage.memoryFraction可配置比例。官方建议这个比值不要超过JVM Old Gen区域的比值。因为RDD cache的数据通常长期驻留内存,理论上最终会被转移到Old Gen区域,如果数据量过大,势必会占满Old Gen区域,造成频繁的Full GC。如果频繁发生Full GC,那么可以适当调低这个值,腾出更多的空间用于执行任务;如果有过多的minor GC,而不是Full GC,那么可以为Eden区域分配更大的内存。如果Eden大小为E,那么可以设置-Xmn=4/3*E(调整到4/3是考虑到survivor区域所需的空间)。

还有一个重要的参数,即spark.yarn.executor.memoryOverhead,系统分配可选的堆外内存。默认值为spark.executor.memory*0.7及384MB的最大值。

2、每个Executor的CPU的具体配置

--num-executors 6

集群上启动的executor的数量。

--executor-cores 2

?2是每个executor运行的核数,即executor能最大运行的并行task(任务)数。executor的每个核executor分配到的总内存。

3、并行度的设置

并行度是spark作业中,各个stage的task数量,也就代表了spark作业在各个阶段的并行度。官方建议,把task数量设置成spark app的总cpu核数的2~3倍,比如有100个core,那么合理的task数量应该在200~300。

val conf = new SparkConf()
conf.set("spark.default.parallelism", "200")

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2021-08-12 16:40:01  更:2021-08-12 16:40:19 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 9:48:51-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码