zoukankan      html  css  js  c++  java
  • 大数据 spark作业运行架构原理

    1.启动spark集群  start-all.sh 启动spark中的master和worker节点

    2.worker进程启动起来之后向master发送注册信息 worker 是基于 akka的事件驱动模型

    3.worker 注册成功之后不断的向master发送心跳包 监听主节点是否存在

    4.Driver向spark集群中的master提交作业,发送一个RegisterApplication得case class 注册申请需要用多少资源

    5.Master收到Driver提交的作业请求之后向worker节点指派对应的作业,其实就是对应的worker节点启动对应的executor进程

    6.worker节点 接收到master节点启动的executer任务后,启动对应的进程,并向master汇报可以接收任务

    7.当executor进程启动之后,就向Driver进程反向注册,(基于akka)告诉driver谁可以接收任务

    8.driver 接收到注册之后就知道向谁发送spark作业

    9.DAGScheduler组件 根据我们编写的spark作业,将spark作业分成若干阶段的stage,然后为每一个阶段组装一批task 组成taskset 然后将这些taskset交给 taskscheduler, 由taskscheduler来将任务分发给对应的executor

    10.当executor进程接收到driver发送过来的taskset之后 进行反序列化,将这些task封装进taskrunner的线程中 然后放进本地线程池,调度我们得作业执行

  • 相关阅读:
    Windows环境配置HTTP服务(Windows + Apache + Mysql + PHP)
    浏览器兼容innerText nextElementSibling firstElementChild
    JavaScript倒计时
    JavaScript数组去重
    模拟javascript中的sort排序
    相对路径与绝对路径
    近阶段的总结
    随机改变颜色返回#+...样式的值
    pc端图片文件上传
    小程序开发的心得
  • 原文地址:https://www.cnblogs.com/inbeijing/p/8548850.html
Copyright © 2011-2022 走看看