且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

静态模式和统一模式_2|学习笔记

更新时间:2022-09-05 13:46:57

开发者学堂课程【大数据实时计算框架 Spark 快速入门:静态模式和统一模式_2】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/100/detail/1735


静态模式和统一模式_2


例子:

在集群上执行某个任务时,作业的处理被划分为几个阶段,每个阶段又被划分为任务。每个任务都是单独安排的。

可以将作为执行器工作的每个 JVMs 视为一个任务执行槽池,每个执行器将给您spark.executor.core / spark.task.cpus 为你的任务提供执行槽位,总计为spark.executor.instances executor。这是一个例子。

集群有 12 个节点运行 YARN 节点管理器,每个 64GB RAM 和 32 个 CPU 内核(16个物理内核超线程)。

这样,在每个节点上,你可以启动 2 个 executor,每个 executor 有 26GB 的RAM (留下一些 RAM 给系统进程,YARN NM 和 DataNode),每个 executor 有 12 个内核用于任务(留下一些内核给系统进程,YARN NM 和 DataNode)。

所以总的来说,你的集群将处理 12 台机器,每台机器 2 个执行器*每个执行器 12 个核/每个任务 1 个核 288 个任务槽。这意味着您的 Spark 集群将能够并行运行288 个任务,从而利用该集群上的几乎所有资源。

1.6 对内存的改进:

静态模式和统一模式_2|学习笔记

固定保留 300MB,默认总共 1024MB,1024MB-300MB 是 spark 使用的内存,User Memory 是 spark 的 25%,Spark Memory 是 75%,Storage Memory 和Execution Memory 各占一半。

 

各种配置:

spark,menory.useLegacyMode.

是否启用 Spark 1.5 及之前使用的遗留内存管理模式。遗留模式将堆空间划分为fixed-size 的区域,如果应用程序没有调优,可能将导致过度溢出。以下已弃用的内存片段配置不会被读取,除非启用 spark.shuffle, memoryFraction spark.storage.memoryFraction

spark.storage.unrollFraction

除此之外的等等配置,可在官网可见。