spark on yarn

Spark性能调优方法总结   Spark的分配资源主要就是 executor、cpu per executor、memory per executor、driver memory 等的调节,我们在生产环境中,提交spark作业时,用的spark-submit shell脚本,里面调整对应的参数: /usr/local/spark/bin/spark-submit –conf spark.default.parallelism=12 –num-executors 3 –executor-cores 2 –executor-me 阅读详情
启动spark集群中的某个worker节点:

可以使用下面的脚本启动一个或多个连接到master的worker

./sbin/start-slave.sh <master-spark-URL>

./start-slave.sh 192.168.181.128:7077



Yarn:
     ResourceManager, NodeManager, ApplicationMaster, Container
    


Yarn 集群参数调优(以CDH集群为例)
  一、CPU配置:
    ApplicationMaster 虚拟 CPU内核
     yarn.app.mapreduce.am.resource.cpu-vcores   
// ApplicationMaster占用的cpu内核数(Gateway--资源管理 )
一般设置1个核,如果想启动时候快一点可以多设置核数,但它不管资源分配,所以只要保证任务执行过程中不挂就可以了
   容器虚拟 CPU内核
     yarn.nodemanager.resource.cpu-vcores
//单 个NodeManager 最大能分配的cpu核数 (NodeManager --资源管理 )   
因为所有该机器上的所有进程需要资源都向nodemanager申请资源,所以nodemanager设置为机器 最大能分配的核数,除非该机器上还有别的进程需要运行,且不是通过yarn进行资源调度。
  
     结论:当前 nodemanager申请的 ApplicationMaster数总和小于nodemanager最大cpu内核数


Yarn 集群参数调优(以CDH集群为例)
  二、内存配置:
    容器内存
     yarn.nodemanager.resource.memory-mb    
//单个NodeManager能分配的最大内存(NodeManager --资源管理) 
//Memory Total = 单个NodeManager内存 * 节点数
     结论:提交任务占用内存Memory Used小于Memory Total
   Map 任务内存
     mapreduce.map.memory.mb
//为作业的每个 Map 任务分配的物理内存量  (Gateway--资源管理 )   
     结论:map或reduce的内存需求不大于appmaster的内存需求
    
   最大容器内存
    yarn.scheduler.maximum-allocation-mb
 //单个任务可申请最大内存 (ResourceManager--资源管理 )


Yarn 集群参数调优(以CDH集群为例)
  三、同一个Map或者Reduce并行执行:
    Map 任务推理执行(如果一个map任务执行特别慢,yarn会在其他机器上启动一个一模一样的map任务,yarn会看谁先执行完成,然后把其他一个任务关掉)
     mapreduce.map.speculative       //Gateway
   Reduce 任务推理执行
     mapreduce.reduce.speculative    //Gateway    
  
 
  四、spark加日志查看(旧版本)
   编辑 spark-defaults.conf
    spark.yarn.historyServer.address=http://crxy167:18088/
  五、JVM重用
    启用 Ubertask优化:
    mapreduce.job.ubertask.enable | (默认false)     //true则表示启用jvm重用(Gateway--性能 )


资源参数调优
  了解完了Spark作业运行的基本原理之后,对资源相关的参数就容易理解了。所谓的Spark资源参数调优,其实主要就是对Spark运行过程中各个使用资源的地方,通过调节各种参数,来优化资源使用的效率,从而提升Spark作业的执行性能。以下参数就是Spark中主要的资源参数,每个参数都对应着作业运行原理中的某个部分,我们同时也给出了一个调优的参考值。

num-executors


  参数说明:该参数用于设置Spark作业总共要用多少个Executor进程来执行。Driver在向YARN集群管理器申请资源时,YARN集群管理器会尽可能按照你的设置来在集群的各个工作节点上,启动相应数量的Executor进程。这个参数非常之重要,如果不设置的话,默认只会给你启动少量的Executor进程,此时你的Spark作业的运行速度是非常慢的。

  参数调优建议:每个Spark作业的运行一般设置50~100个左右的Executor进程比较合适,设置太少或太多的Executor进程都不好。设置的太少,无法充分利用集群资源;设置的太多的话,大部分队列可能无法给予充分的资源。

executor-memory


  参数说明:该参数用于设置每个Executor进程的内存。Executor内存的大小,很多时候直接决定了Spark作业的性能,而且跟常见的JVM OOM异常,也有直接的关联。

  参数调优建议:每个Executor进程的内存设置4G~8G较为合适。但是这只是一个参考值,具体的设置还是得根据不同部门的资源队列来定。可以看看自己团队的资源队列的最大内存限制是多少,num-executors乘以executor-memory,就代表了你的Spark作业申请到的总内存量(也就是所有Executor进程的内存总和),这个量是不能超过队列的最大内存量的。此外,如果你是跟团队里其他人共享这个资源队列,那么申请的总内存量最好不要超过资源队列最大总内存的1/3~1/2,避免你自己的Spark作业占用了队列所有的资源,导致别的同学的作业无法运行。

executor-cores


  参数说明:该参数用于设置每个Executor进程的CPU core数量。这个参数决定了每个Executor进程并行执行task线程的能力。因为每个CPU core同一时间只能执行一个task线程,因此每个Executor进程的CPU core数量越多,越能够快速地执行完分配给自己的所有task线程。

  参数调优建议:Executor的CPU core数量设置为2~4个较为合适。同样得根据不同部门的资源队列来定,可以看看自己的资源队列的最大CPU core限制是多少,再依据设置的Executor数量,来决定每个Executor进程可以分配到几个CPU core。同样建议,如果是跟他人共享这个队列,那么num-executors * executor-cores不要超过队列总CPU core的1/3~1/2左右比较合适,也是避免影响其他同学的作业运行。

driver-memory


  参数说明:该参数用于设置Driver进程的内存。

  参数调优建议:Driver的内存通常来说不设置,或者设置1G左右应该就够了。唯一需要注意的一点是,如果需要使用collect算子将RDD的数据全部拉取到Driver上进行处理,那么必须确保Driver的内存足够大,否则会出现OOM内存溢出的问题。

spark.default.parallelism


  参数说明:该参数用于设置每个stage的默认task数量。这个参数极为重要,如果不设置可能会直接影响你的Spark作业性能。

  参数调优建议:Spark作业的默认task数量为500~1000个较为合适。很多同学常犯的一个错误就是不去设置这个参数,那么此时就会导致Spark自己根据底层HDFS的block数量来设置task的数量,默认是一个HDFS block对应一个task。通常来说,Spark默认设置的数量是偏少的(比如就几十个task),如果task数量偏少的话,就会导致你前面设置好的Executor的参数都前功尽弃。试想一下,无论你的Executor进程有多少个,内存和CPU有多大,但是task只有1个或者10个,那么90%的Executor进程可能根本就没有task执行,也就是白白浪费了资源!因此Spark官网建议的设置原则是,设置该参数为num-executors * executor-cores的2~3倍较为合适,比如Executor的总CPU core数量为300个,那么设置1000个task是可以的,此时可以充分地利用Spark集群的资源。

spark.storage.memoryFraction


  参数说明:该参数用于设置RDD持久化数据在Executor内存中能占的比例,默认是0.6。也就是说,默认Executor 60%的内存,可以用来保存持久化的RDD数据。根据你选择的不同的持久化策略,如果内存不够时,可能数据就不会持久化,或者数据会写入磁盘。

  参数调优建议:如果Spark作业中,有较多的RDD持久化操作,该参数的值可以适当提高一些,保证持久化的数据能够容纳在内存中。避免内存不够缓存所有的数据,导致数据只能写入磁盘中,降低了性能。但是如果Spark作业中的shuffle类操作比较多,而持久化操作比较少,那么这个参数的值适当降低一些比较合适。此外,如果发现作业由于频繁的gc导致运行缓慢(通过spark web ui可以观察到作业的gc耗时),意味着task执行用户代码的内存不够用,那么同样建议调低这个参数的值。

spark.shuffle.memoryFraction


  参数说明:该参数用于设置shuffle过程中一个task拉取到上个stage的task的输出后,进行聚合操作时能够使用的Executor内存的比例,默认是0.2。也就是说,Executor默认只有20%的内存用来进行该操作。shuffle操作在进行聚合时,如果发现使用的内存超出了这个20%的限制,那么多余的数据就会溢写到磁盘文件中去,此时就会极大地降低性能。

  参数调优建议:如果Spark作业中的RDD持久化操作较少,shuffle操作较多时,建议降低持久化操作的内存占比,提高shuffle操作的内存占比比例,避免shuffle过程中数据过多时内存不够用,必须溢写到磁盘上,降低了性能。此外,如果发现作业由于频繁的gc导致运行缓慢,意味着task执行用户代码的内存不够用,那么同样建议调低这个参数的值。
资源参数的调优,没有一个固定的值,需要同学们根据自己的实际情况(包括Spark作业中的shuffle操作数量、RDD持久化操作数量以及spark web ui中显示的作业gc情况),同时参考本篇文章中给出的原理以及调优建议,合理地设置上述参数。

Executor的内存主要分为三块:第一块是让task执行我们自己编写的代码时使用,默认是占Executor总内存的20%;第二块是让task通过shuffle过程拉取了上一个stage的task的输出后,进行聚合等操作时使用,默认也是占Executor总内存的20%;第三块是让RDD持久化时使用,默认占Executor总内存的60%。


提交spark
#!/bin/bash
source /etc/profile
export LANG=zh_CN.UTF-8


year=`date -d "yesterday" +%Y`
month=`date -d "yesterday" +%m`
day=`date -d "yesterday" +%d`


SPARK_MASTER=spark://10.110.79.2:7077
SPARK_DEPLOY="--master yarn --deploy-mode cluster"
#SPARK_RESOURCE="--executor-memory 45G --executor-cores 4"
SPARK_RESOURCE="--num-executors 4"
SCRIPT_PATH="/opt/shell/log"
LOG_PATH="/app/log"
cluster1="hdfs://logcluster2"
jarname=/opt/shell/log/lib/leagsoft-1.0-SNAPSHOT-jar-with-dependencies.jar
inputDir=/leagsoft
outputMysqlDir=/model/leagsoft_user/mysql
outputESDir=/model/leagsoft_user/es
LOG_FILE="${LOG_PATH}/module/leagsoft/user/log_2hdfs_`date +%Y%m%d`"


echo "#saprk leagsoftUserInfo2hdfsAndES `date '+%Y-%m-%d %H:%M:%S'`" >> ${LOG_FILE}


hadoop fs -test -e "${inputDir}/${year}/${month}/${day}"
if [ $? -eq 0 ] ; then


spark-submit ${SPARK_DEPLOY}  ${SPARK_RESOURCE} \
--queue infrastructure \
--executor-memory 10G \
--executor-cores 2  \             
--class  com.express.sf.leagsoft.leagsoft_user \
--conf spark.default.parallelism=16 \
--conf spark.shuffle.consolidateFiles=true \
--conf "spark.es.nodes=10.110.77.48" \
--conf "spark.es.port=9200" \
--conf "spark.es.index.auto.create=true" \
--conf "spark.es.batch.size.entries=50000" \
--conf spark.kryoserializer.buffer.max=64mb \
--conf spark.kryoserializer.buffer=256 \
 "${jarname}" \
${cluster1}${inputDir}/$year/$month/$day  ${cluster1}${outputESDir}/$year/$month/$day ${cluster1}${outputMysqlDir}/$year/$month/$day


ret=$?
fi

echo "#结束 `date '+%Y-%m-%d %H:%M:%S'`" >> ${LOG_FILE}
exit $ret


注意,有些参数是和运行模式有关系的,比如  total-executor-cores  只对standalone和Mesos模式起作用,对cluster模式不起作用
参数解释
--queue infrastructure \
提交到yarn 上使用的资源队列,默认是default,这里使用infrastructure ,资源对列在hadoop中设置,详见http://blog.youkuaiyun.com/cottonduke/article/details/60576545





Spark调优(工作实战经验) 解锁大数据潜能,开启 Spark 调优的精彩之旅! 在大数据时代的浪潮中,Spark 以其强大的计算能力和高效的数据处理性能成为众多开发者的得力工具。然而,要充分发挥 Spark 的优势,调优至关重要。 这篇 Spark 调优文章,将带你深入探索 Spark 性能优化的奥秘。从内存管理到任务调度,从数据分区到资源配置,每一个环节都蕴含着提升性能的关键。 文章中,丰富的实战经验与深入的技术分析相结合,为你呈现出一套完整的 Spark 调优方案。无论你是大数据领域的新手,还是经验丰富的专家,都能从中找到适合 阅读详情

相关推荐

spark常用参数调优

spark常用参数调优

weixin_43597208的博客 1610

Spark性能调优

嗨,各位小伙伴大家好,我是爱小可爱的IT白,最近应朋友所邀,一直让写一篇关于Spark调优方面的文章,这两天工作之余,忙里偷闲,写了这篇调优文章,跟大家一起共享;在大数据领域,肯定有很多小伙伴跟笔者一样为了让生产中数据执行速度更快、性能更高而去使用Spark,当我们用Spark程序实现功能开发并使程序正常稳定运行起来的时候,一定是非常有成就感的;但是随着数据量的增加以及需求的完善,我们就开始关注我们这个程序能否做到在运行起来的时候让数据查询更快、让页面响应更快、尽可能的节省空间占用率;

aikeaidecxy的博客 2490

如何准确计算Spark On Yarn资源消耗 - spark On Yarn内存计算

spark on yarn 内存计算 摘要:相信每个写spark 的 sparker 都有过 spark on yarn 的任务提交经历,或许在你集群资源够多的情况下,我们只关注分配的资源是否能另任务顺畅的跑起来,而不会去关注生成一个spark任务最终在yarn上面消耗了多少的资源。不过如果你的集群资源并没有多到任你挥霍的程度,这篇文章可以教你如何把集群资源了如指掌。 1.Continer数量计...

一曲长歌,一剑天涯 5319

spark优化(二)--参数调优

spark参数

YYLong0的博客 1686

spark on yarn 安装部署

准备 下载spark,地址:http://spark.apache.org/downloads.html 下载不带hadoop预编译环境的spark最新版本,好处是可以自由使用最新版本的hadoop 下载hadoop,地址:https://hadoop.apache.org/releases.html 1.基本环境配置 [ec2-user@rcf-ai-datafeed-spark-prd-01 conf]$ cat /etc/hosts 127.0.0.1 localhost localh...

一蓑烟雨 1292

Spark on YARN的cluster模式

目录 YARN架构 Spark on YARN的cluster模式 常用命令 日志查看与处理 参考资料 YARN架构 YARN是Hadoop2.0之后出现的集群资源的管理与任务调度的分布式框架。 资源管理: 集群中的资源(如内存、cpu)使用情况由主节点ResourceManager管理。从节点NodeManager管理自己所在节点的资源使用情况并报告给主节点Resou...

蜗牛^_^的博客 954

Spark on YARN

前言 Spark 可以跑在很多集群上,比如跑在local上,跑在Standalone上,跑在Apache Mesos上,跑在Hadoop YARN上等等。不管你Spark跑在什么上面,它的代码都是一样的,区别只是–master的时候不一样。其中Spark on YARN是工作中或生产上用的非常多的一种运行模式。 YARN产生背景 以前没有YARN的时候,每个分布式框架都要跑在一个集群上面,比如说H...

liweihope的博客 2万+

Spark on yarn安装部署

〇、说明 spark on yarn 中没有master和slave,凡是涉及到两个角色的安装基本都是standalone模式。spark on yarn 仅仅需要按照以下步骤安装启动即可。分为spark on yarn-cluster和spark on yarn-client(区别自行百度,网上很多。) 一、准备 1.HDFS 2.YARN 3.JDK8 二、安装Scala 1.下载 官网下载(...

weixin_43860247的博客 1263

Spark on yarn

Spark 的on yarn 集群模式 ●官方文档 http://spark.apache.org/docs/latest/running-on-yarn.html 准备工作 1.安装启动Hadoop(需要使用 HDFS 和 YARN,已经ok) 2.安装单机版Spark(已经ok) 注意:不需要集群,因为把Spark程序提交给YARN运行本质上是把字节码给YARN集群上的...

最慢的步伐不是跬步,而是徘徊;最快的脚步不是冲刺,而是坚持 9000

从零开始深入理解 AI Agent(完整版)

AI Agent(智能体)是一个能够自主感知环境、做出决策、执行行动并记忆经验的智能系统。特性传统程序AI Agent决策方式固定逻辑(if-else)动态推理(LLM 思考)灵活性需要重新编程自然语言描述即可能力边界明确限定可通过工具扩展学习能力无可通过记忆积累经验│ 感知 │ ───→ │ 推理 │ ───→ │ 行动 │↑ │ ││ ↓ ││ 记忆 │ ←─── │ 反思 │ ←─────────┘感知(Perception)

qq_20096229的博客 754

Zemax操作33--5倍激光扩束器

5倍扩束

lzy750750的博客 2930

Spark on YARN:Spark集群模式之Yarn模式的原理、搭建与实践

本文将深入探讨为什么要将 Spark 程序运行在 YARN 上而不是 Spark 自带的 Standalone 集群上,详细介绍 Spark 的 YARN 集群搭建过程,以及在 YARN 模式下不同 deploy mode 的区别,并结合实际测试案例,帮助读者全面理解 Spark on YARN 这一重要的大数据技术应用。

天冬忘忧的博客 2565

IO多路转接 ——— select、poll、epoll

select是系统提供的一个多路转接接口。select函数的函数原型如下: 参数说明:参数timeout的取值:返回值说明:select调用失败时,错误码可能被设置为:fd_set结构与sigset_t结构类似,fd_set本质也是一个位图,用位图中对应的位来表示要监视的文件描述符。 调用select函数之前就需要用fd_set结构定义出对应的文件描述符集,然后将需要监视的文件描述符添加到文件描述符集当中,这个添加的过程本质就是在进行位操作,但是这个位操作不需要用户自己进行,系统提供了一组专门的接口,用

2021dragon的博客 7973

从Hive on YARN到Hive on Spark

本实战通过配置 Hive 与 Spark 集成,分别基于 YARN(MapReduce)和 Spark 引擎执行词频统计任务,验证了 Hive on Spark 在查询性能上的显著优势,同时展示了 Hadoop、Hive 和 Spark 的协同部署与关键配置步骤。

howard2005的专栏 1776

cartographer基于3d地图的纯定位模式

关于纯定位模式呢,本人试过2d和3d,怎么说呢,有条件的话,建议直接上3d,因为博主当初在做定位时针对室内和室外都尝试过,2d只在室内环境下效果会很棒,但是在室外就呵呵啦!所以这里直接讲解3d室外定位(建图篇请自己查看我之前的博客:[3d建图](https://blog.youkuaiyun.com/qq_40216084/article/details/105531983) 看了我之前的博客大概知道配置文件和源文件路径了,我这里就不把路径写出来了,挺麻烦的。直接讲怎么做把,有不懂的留言,看到了我一定知无不言。 **首

qq_40216084的博客 5552

基于Qt C++开发一套大疆农业无人机的AI飞控系统

如果需要补充**多机协同作业代码**、**农田测绘数据导出**、**作业数据统计大屏**或**移动端地面站适配**功能,可以告知具体需求,我会针对性完善。"开启" : "关闭") << "喷洒,流量:" << flowRate << "L/min";emit errorOccurred(QString("SDK初始化失败,错误码:%1").arg((int)ret));report += QString("问题区域数量:%1\n").arg(info.problemAreas.size());

寒寒豆豆软件公司的博客 379

spark on yarn client和spark on yarn cluster区别

概述 spark on yarn 的优势是每个Spark executor作为一个Yarn容器(container)运行,Spark可以使得多个Task在同一个容器(container)里面运行;有两种模式:yarn-client和yarn-cluster yarn-client:driver运行在client端;适用于调式,能直接看到各种日志;连接断了,任务就挂了 driver运行在am中;日......

jim8973的博客 696

使用Open3D进行RGB-D图像点云处理

在本文中,我们将使用Open3D来处理RGB-D图像,提取点云并进行一些基本的操作。总结起来,本文介绍了如何使用Open3D库处理RGB-D图像并提取点云。我们展示了如何读取RGB-D图像,创建RGB-D图像和点云,并显示点云。除了显示点云,Open3D还提供了许多其他功能,如点云滤波、点云配准、表面重建等。在创建RGB-D图像时,我们需要指定深度图像的缩放因子和截断值,以及是否将RGB图像转换为强度图像。希望本文能够帮助您入门Open3D,并在处理RGB-D图像和点云数据时提供一些指导。

QfcaLinux的博客 445

Spark on YARN的部署

Spark on YARN的原理就是依靠yarn来调度Spark,比默认的Spark运行模式性能要好的多,前提是首先部署好hadoop HDFS并且运行在yarn上,然后就可以开始部署spark on yarn了,假设现在准备环境已经部署完毕,这里是在CDH 环境下部署Spark   除了上面的环境准备,安装Spark前,还应该保证Scala正常安装,基于Scala的情况下,就可以开始部署Spa...

qq_41607306的博客 1120

华为OD干了两个月,还是跑了

​本人工作了快13年,base南京。2024年2月份由于公司业务变动第一次拿到了公司发的大礼包,同时也面临着失业的问题,我对自己的技术还是很有信心的,但是,找了大概有一个多月时间,发现心意的工作的确不太好找,当然收到挺多家offer,就是薪资不太满意,外包也一直不想去,不过说实话外包给的薪资普遍要比自研的单位要高一些,最后为了钱还是进华为(既然选择外包那就选择好一些的吧),毕竟中年老男人工作不能断太久。

啊渊的专栏 1万+

YOLO26改进策略【模型轻量化】| 替换骨干网络为 2024轻量化网络MoblieNetV4:移动生态系统的通用模型

本文记录的是基于MobileNet V4的YOLO26目标检测轻量化改进方法研究。主要用于轻量化应用部署,相关轻量化改进与其整体架构非常适配。通过整合、以及优化的,能够在在不降低性能指标的前提下,降低计算成本。本文配置了原论文中、、、和五种模型,以满足不同的需求。MobileNetV4: Universal Models for the Mobile Ecosystem是一系列适用于移动生态系统的通用高效模型。以下将详细介绍其轻量化设计的出发点、原理、结构和优势:的实现代码如下: 四、修改步骤 4.1 修

Limiiiing的博客 826

SPARK ON YARN内存计算

文章目录1.YARN关键参数配置1.1 yarn中单个nodemanager控制container的个数1.2 resourceManager1.3 executor堆外内存2.YARN内存参数计算实例2.1 SPARK ON YARN-CLUSTER2.2 SPARK ON YARN-CLIENT3. spark on yarn内存申请3.1 yarn两个默认内存参数3.2 spark3.3 yarn对spark任务内存的申请计算方式3.3.1 executer使用的内存计算3.3.2 driver的内存

sxau_zhangtao的博客 1321

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

Spark on YARN 的运行架构总览

ResourceManager 根据资源情况分配 Container 给 ApplicationMaster,ApplicationMaster 与对应的 NodeManager 通信,让 NodeManager 启动包含 Spark Executor 的容器。:Spark Driver 在 ApplicationMaster 中或单独的容器中运行,负责调度和监控任务,Executor 在各自容器中执行具体的 Spark 任务,完成数据处理。

全局可见 1109

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

Spark on YARN思想

Hadoop YARN 1.YARN

509

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

Spark on Yarn架构原理

一. 前言 SPARK相关概念 Driver:和ClusterManager通信,进行资源申请、任务分配并监督其运行状况等。 ClusterManager:这里指YARN。 DAGScheduler:把spark作业转换成Stage的DAG图。 TaskScheduler:把Task分配给具体的Executor。 YARN相关概念 ResourceManager:负责整个集...

不见其长,日有所长 4546
上一篇: maven常见问题
下一篇: python基础
CottonDuke
博客等级 码龄11年 8粉丝 83原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值