执行Spark应用架构需要经历哪几个阶段?

将程序切换到【Executors】Tab页面时,我们可以看到Spark Application运行到集群上时,由两部分组成:Driver Program和Executors。

执行Spark应用架构需要经历哪几个阶段?

从图中可以看到Spark Application运行到集群上时,由两部分组成:Driver Program和Executors。

第一、Driver Program

相当于AppMaster,整个应用管理者,负责应用中所有Job的调度执行;

运行JVM Process,运行程序的MAIN函数,必须创建SparkContext上下文对象;

一个SparkApplication仅有一个;

第二、Executors

相当于一个线程池,运行JVM Process,其中有很多线程,每个线程运行一个Task任务,一个Task任务运行需要1 Core CPU,所有可以认为Executor中线程数就等于CPU Core核数;

一个Spark Application可以有多个,可以设置个数和资源信息;

执行Spark应用架构需要经历哪几个阶段?

用户程序从最开始的提交到最终的计算执行,需要经历以下几个阶段

1)、用户程序创建 SparkContext 时,新创建的 SparkContext 实例会连接到 ClusterManager。 Cluster Manager 会根据用户提交时设置的 CPU 和内存等信息为本次提交分配计算资源,启动 Executor。

2)、Driver会将用户程序划分为不同的执行阶段Stage,每个执行阶段Stage由一组完全相同Task组成,这些Task分别作用于待处理数据的不同分区。在阶段划分完成和Task创建后, Driver会向Executor发送 Task;

3)、Executor在接收到Task后,会下载Task的运行时依赖,在准备好Task的执行环境后,会开始执行Task,并且将Task的运行状态汇报给Driver;

4)、Driver会根据收到的Task的运行状态来处理不同的状态更新。 Task分为两种:一种是Shuffle Map Task,它实现数据的重新

洗牌,洗牌的结果保存到Executor 所在节点的文件系统中;另外一种是Result Task,它负责生成结果数据;

5)、Driver 会不断地调用Task,将Task发送到Executor执行,在所有的Task 都正确执行或者超过执行次数的限制仍然没有执行成功时停止;

4040、8080、18080的区别

4040: 是一个运行的Application在运行的过程中临时绑定的端口,用以查看当前任务的状态.4040被占用会顺延到4041.4042等。

4040是一个临时端口,当前程序运行完成后, 4040就会被注销哦。

8080: 默认是StandAlone下, Master角色(进程)的WEB端口,用以查看当前Master(集群)的状态。

18080: 默认是历史服务器的端口, 由于每个程序运行完成后,4040端口就被注销了. 在以后想回看某个程序的运行状态就可以通过历史服务器查看,历史服务器长期稳定运行,可供随时查看被记录的程序的运行过程。

运行起来一个Spark Application, 然后打开其4040端口,并查看:/export/server/spark/bin/spark-shell --master spark://node1.itcast.cn:7077。在node1运行pyspark-shell,WEB UI监控页面地址:http://node1:4040。

执行Spark应用架构需要经历哪几个阶段?

可以发现在一个Spark Application中,包含多个Job,每个Job有多个Stage组成,每个Job执行按照DAG图进行的。

执行Spark应用架构需要经历哪几个阶段?

其中每个Stage中包含多个Task任务,每个Task以线程Thread方式执行,需要1Core CPU。

执行Spark应用架构需要经历哪几个阶段?

Spark Application程序运行时三个核心概念:Job、Stage、 Task,说明如下:

Job:由多个 Task 的并行计算部分,一般 Spark 中的 action 操作(如 save、collect,后面进一步说明),会 生成一个 Job。

Stage:Job 的组成单位,一个 Job 会切分成多个 Stage ,Stage 彼此之间相互依赖顺序执行,而每个 Stage 是多 个 Task 的集合,类似 map 和 reduce stage。

Task:被分配到各个 Executor 的单位工作内容,它是 Spark 中的最小执行单位,一般来说有多少个 Paritition (物理层面的概念,即分支可以理解为将数据划分成不同 部分并行处理),就会有多少个 Task,每个 Task 只会处 理单一分支上的数据。

执行Spark应用架构需要经历哪几个阶段?

本文来自投稿,不代表重蔚自留地立场,如若转载,请注明出处https://www.cwhello.com/323493.html

如有侵犯您的合法权益请发邮件951076433@qq.com联系删除

(0)
黑马程序员黑马程序员订阅用户
上一篇 2023年7月13日 15:27
下一篇 2023年7月13日 15:28

相关推荐

  • 我来教你网站设计中常见的陷阱你都中招了几个。

    在网站设计制作中,设计师常常会注重个性化的表达和对趋势的迎合,不过在众多的网站中,在对细节和整体策略上,设计师们依然很有很大的提升空间。 1、图片很时尚,但是没有案列研究。 在大多数情况下,用户在查看设…

    2023年6月15日
    01
  • 分享SEO优化中的几个重要标签。

    提及网站基础站内优化方面,很多朋友自然会想到成程序、想到代码精简,其实再说细点,就是整个站内优化标签元素的规范性。站内优化由于耗费工作量大,并且需要统计、分类整理的事项较多。但同时对于标签元素的精简…

    2023年6月27日
    01
  • 直通车适合开几个广泛词。

    广泛匹配有它的好处,就是展现量可能更多一点,能吸引更多人进店铺来,不过这也跟宝贝主图有很大关系。所以,开广泛匹配的情况下,什么词都展现,是很正常的,因为广泛匹配的展现非常大,很难控制得住。直通车是为…

    2023年11月6日
    01
  • 我来教你注意:SEO优化中的几个误区。

    seo优化这个工作对新来说很不友好,如果操作不当往往会把事办砸。这对网站甚至SEO推广工作都会造成一定不同程度的影响,严重的网站被K或者放弃SEO优化工作。所以今天小编分享的这13个误区,大家一定要牢记哦~1.眼高…

    2023年6月28日
    02
  • 我来说说聚划算商品可以报几个。

    很多商家想参加聚划算活动,毕竟参加聚划算活动的话可以给店铺带来很多流量,最近有小伙伴想知道聚划算商品可以报几个?那么接下来,我们就来给大家讲解一下这方面的内容。据了解,每个主题团总商品数不超过120个,…

    2023年11月4日
    09
  • 分享SEO优化优质链接建设的几个重要特征。

    网页等级是一个网页质量非常重要的评判因素,这是不以搜索引擎升级而变化的,而这其中,链接的指向就非常的重要,所以一直以来,外链的建设也成了众多seoer每天都免不了的工作,但是事实是有的人链接建设的效果非常…

    2023年6月27日
    00
  • 分享全网营销实施中的几个技巧,你知道吗。

    越来越多的企业开始投入全网营销,那么要先把全网营销做好,做精,有哪些技巧呢,今天,云裂变的小编就和大家分享几个小技巧,帮助大家在全网营销的道路上,事半功倍。第一,以大品提升优势。从“多生多育&rdq…

    2023年4月19日
    01
  • 我来分享云计算服务器承载能力高吗。

    云计算服务器承载能力高吗? 云计算是一种基于互联网的计算方式,通过将计算资源集中管理和分配,为用户提供按需使用的服务,云计算服务器作为云计算的核心组成部分,承担着存储、处理和传输数据的任务,云计算服务…

    2024年7月23日
    05

联系我们

QQ:951076433

在线咨询:点击这里给我发消息邮件:951076433@qq.com工作时间:周一至周五,9:30-18:30,节假日休息