美文网首页
standalone集群

standalone集群

作者: Eqo | 来源:发表于2022-06-19 17:56 被阅读0次

    standalone集群 是spark自己带的资源调度集群
    yarn是所有符合其标准的程序跟他申请资源他都给
    Spark Standalone集群,仅仅只能向其提交运行Spark Application程序,其他应用无法提交运行

    image.png
    • 集群角色

    主从架构(master -slave )
    主角色 master ,管理整个集群的资源
    从角色 workers,管理每台机器的 资源
    历史服务器 history server

    master是集群中含有Master进程的节点,slave是集群中的Worker节点含有Executor进程

    • standalone集群 与 Yarn集群的对比
    image.png
    image.png

    应用运行架构

    8、Spark 计算引擎:Spark应用组成.png

    当将Spark Application运行在集群上时,所有组件组成如下所示:
    第一部分、集群资源管理框架,以Standalone 集群为例

    • 主节点Master:集群老大,管理节点
      • 接受客户端请求、管理从节点Worker节点、资源管理和任务调度
      • 类似YARN中ResourceManager
    • 从节点Workers:集群小弟,工作节点
      • 使用自身节点的资源运行Executor进程:给每个Executor分配一定的资源
      • 类似YARN中NodeManager

    第二部分 应用组成 应用管理者driver 和应用执行者executors

    • 应用管理者Driver Program:每个应用老大
      • 向主节点申请Executor资源,让主节点在从节点上根据需求配置启动对应的Executor
      • 解析代码逻辑:将代码中的逻辑转换为Task
      • 将Task分配给Executor去运行
      • 监控每个Executor运行的Task状态
    • 应用执行者Executors:应用中干活的
      • 运行在Worker上,使用Worker分配的资源等待运行Task
      • 所有Executor启动成功以后会向Driver进行注册
      • Executor收到分配Task任务,运行Task,每个task 就是一个进程
      • 可以将RDD数据缓存到Executor内存
    18、Standalone集群:Spark应用提交完全组件流程.png

    流程:
    1.客户端提交spark应用后,会首先启动一个 driver program进程

    2.driver program 会向master 申请资源运行executor

    3.master收到请求后,会在符合条件的worker 从节点上 启动对应个数的executor

    4.启动的executor 会跟 driver反向注册

    5.当所有的executor注册完成后,driver会开始从main函数开始执行,一行一行读取代码

    6.当读到一个action触发算子的时候,DAG scheduler会根据回溯法,构建DAG 调度图

    7,DAG scheduler 会划分stage,当遇到一个宽依赖就划分stage

    8.在每个stage中,由task scheduler 根据每个stage中 最后一个rdd的分区数,确定task任务的个数

    (需要注意的是,spark当中task的计算模式 都是pipeline 管道计算模式,即先建立每个stager中 每个rdd分区的通道,在一个一个去计算)

    9.最后task scheduler调度所有的task 到 executor中去执行

    相关文章

      网友评论

          本文标题:standalone集群

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