您现在的位置:首页 >> 省钱攻略

大数据培训 Yarn和Spark配置与解释

发布时间:2025/08/11 12:19    来源:凤台家居装修网

量度出每个NodeManager最多能接入多少个Executor。在将NodeManager的总内核平均教育资源分配给每个Executor,最后再进一步将单个Executor的内核按照约10:1的分之一教育资源分配到spark.executor.memory和spark.executor.memoryOverhead。

根据上述想法,可得到如下关系:

(spark.executor.memory+spark.executor.memoryOverhead)= yarn.nodemanager.resource.memory-mb * (spark.executor.cores/yarn.nodemanager.resource.cpu-vcores)

经量度,此处应该做到如下的设计:

spark.executor.memory 14G

spark.executor.memoryOverhead 2G

Executorn-的设计

此处的Executorn-是指教育资源分配给一个Spark分析方法的Executorn-,Executorn-对于Spark分析方法的拒绝执行速度有不大的不良影响,所以Executorn-的确定十分重要。

一个Spark分析方法的Executorn-的均须手段有两种,静态教育资源分配和动态教育资源分配。

静态教育资源分配可通过spark.executor.instances均须一个Spark分析方法顺利完成的Executorn-。这种手段无必需适时估计每个Spark分析方法所无需的教育资源,并为每个分析方法单独的设计Executorn-。

动态教育资源分配动态教育资源分配可根据一个Spark分析方法的岗位负载,动态的更改而所占用的教育资源(Executorn-)。这意味着一个Spark分析方法程序可以在接入的每一次中都,无必需时,获准更为多的教育资源(顺利完成更为多的Executor),须要时,日后将其拘禁。在生产集群中都,中选采用动态教育资源分配。动态教育资源分配涉及给定如下:#顺利完成动态教育资源分配

spark.dynamicAllocation.enabled true

#开幕Spark shuffle一站式

spark.shuffle.service.enabled true

#Executorn-初始取值

spark.dynamicAllocation.initialExecutors 1

#Executorn-最小取值

spark.dynamicAllocation.minExecutors 1

#Executorn-最大取值

spark.dynamicAllocation.maxExecutors 12

#Executor都只延时,若某Executor都只时间超过此取值,则不会被废弃

spark.dynamicAllocation.executorIdleTimeout 60s

#积压执行等待延时,若有Task等待时间超过此取值,则获准顺利完成在此之后Executor

spark.dynamicAllocation.schedulerBacklogTimeout 1s

spark.shuffle.useOldFetchProtocol true

说明:Spark shuffle一站式的发挥作用是行政Executor中都的各Task的负载份文件,主要是shuffle每一次map端的负载份文件。由于开幕教育资源动态教育资源分配后,Spark不会在一个分析方法未结束前,将之前完成执行,处于都只状态的Executor废弃。Executor废弃后,【关心已为IBM公司,精彩精研IT】其负载的份文件,也就未能可供其他Executor采用了。无必需开幕Spark shuffle一站式,来行政各Executor负载的份文件,这样就能废弃都只的Executor,而不不良影响后续的量度执行了。

Driver的设计说明

Driver主要的设计内核才可,涉及的给定有spark.driver.memory和spark.driver.memoryOverhead。

spark.driver.memory主要用途均须Driver不会话的堆内核大小

spark.driver.memoryOverhead主要用途均须Driver不会话的堆外内核大小。

默认情况,两者的关系如下:spark.driver.memoryOverhead=spark.driver.memory*0.1。两者的和才算一个Driver不会话所无需的总内核大小。

一般情况,按照如下成果进行更改才可:

假定yarn.nodemanager.resource.memory-mb设为为X,

若X>50G,则Driver可设为为12G, 若12G此处yarn.nodemanager.resource.memory-mb为64G,则Driver的总内核可教育资源分配12G,所以www.atguigu.com上述两个给定可的设计为

spark.driver.memory 10G

spark.yarn.driver.memoryOverhead 2G

Spark的设计实操

更改spark-defaults.conf份文件

更改$HIVE_HOME/conf/spark-defaults.confspark.master yarn

spark.eventLog.enabled true

spark.eventLog.dir hdfs://myNameService1/spark-history

spark.executor.cores 4

spark.executor.memory 14g

spark.executor.memoryOverhead 2g

spark.driver.memory 10g

spark.driver.memoryOverhead 2g

spark.dynamicAllocation.enabled true

spark.shuffle.service.enabled true

spark.dynamicAllocation.executorIdleTimeout 60s

spark.dynamicAllocation.initialExecutors 1

spark.dynamicAllocation.minExecutors 1

spark.dynamicAllocation.maxExecutors 12

spark.dynamicAllocation.schedulerBacklogTimeout 1s

的设计Spark shuffle一站式Spark Shuffle一站式的的设计因Cluster Manager(standalone、Mesos、Yarn)的不尽相同而不尽相同。此处以Yarn作为Cluster Manager。

批量$SPARK_HOME/yarn/spark-3.0.0-yarn-shuffle.jar到$HADOOP_HOME/share/hadoop/yarn/lib

派送$HADOOP_HOME/share/hadoop/yarn/lib/yarn/spark-3.0.0-yarn-shuffle.jar

更改$HADOOP_HOME/etc/hadoop/yarn-site.xml份文件

yarn.nodemanager.aux-services

mapreduce_shuffle,spark_shuffle

yarn.nodemanager.aux-services.spark_shuffle.class

org.apache.spark.network.yarn.YarnShuffleService

派送$HADOOP_HOME/etc/hadoop/yarn-site.xml份文件

中止Yarn

中选阅读:

大数据关键在于之YARN-HA的设计

一篇文章带你看懂Yarn的大体上体系结构

大数据开发之Spark 基础入门精研习

大数据开发之通过 Spark 来扩展 Presto

潮州白癜风医院哪家最好
青岛看白癜风去什么医院最好
石家庄男科医院排名
咸阳白癜风医院排行
山东

上一篇: 正式“迈向”量产阶段!横店东磁二期首块高效元件下线!

下一篇: 喜获优异成绩!长亮科技多个金融解决方案荣登“鑫智奖”榜单

友情链接