美文网首页
Spark架构

Spark架构

作者: 解宏斌 | 来源:发表于2018-11-28 13:00 被阅读0次

    https://blog.csdn.net/swing2008/article/details/60869183

    1. 架构

        cluster manager:控制整个集群,监控worker,在yarn模式中为资源管理器

        worker节点:从节点,负责控制计算节点,启动executor或者driver

        driver:运行application的main()函数

        executor:执行器,是为某个application运行在worker node上的一个进程

    2. spark运行特点

        每个application获取专属的executor进程

        spark与资源管理器无关,只要能够获取executor进程,并能保持通信就可以

        提交sparkcontext的client应该靠近worker节点(运行executor的节点),最好是在一个rack里,因为spark application运行过程中sparkcontext和executor之间有大量的信息交换

        task采用了数据本地性和推测执行的优化机制

    3. 常用术语

        application:用户编写的spark应用程序,包括driver功能的代码和executor代码

        driver:运行上述application的main函数并创建sparkcontext,创建sparkcontext目的是为了准备spark应用程序的运行环境,在spark中有sparkcontext负责与clustermanager通信,进行资源申请、任务分配和监控,当executor部分运行完毕后,driver同时负责将sparkcontext关闭,通常用sparkcontext代表driver

        executor:某个application运行在worker节点上的一个进程,该进程负责运行某些task,并且负责将数据存在内存或磁盘上

        cluster manager:在集群上获取资源的外部服务,在yarn下,主要指resourcemanager

        worker:集群中任何可以运行application代码的节点,在spark on yarn模式下,就是nodemanager节点

        task:被送到某个executor上的工作单元,是运行application的基本单位,多个task组成一个stage,而task的调度和管理是由taskscheduler负责

        job:包含多个task组成的并行计算,一个application往往会产生多个job

        stage:每个job会被拆分成多组task,作为一个taskset,其名称为stage,stage的划分和调度是由dagscheduler负责的,stage有非最终的stage(shuffle map stage)和最终的stage(result stage)两种,stage的边界就是发生shuffle的地方

        

    相关文章

      网友评论

          本文标题:Spark架构

          本文链接:https://www.haomeiwen.com/subject/kuuaqqtx.html