zoukankan      html  css  js  c++  java
  • 小记---------spark架构原理&主要组件和进程

    spark的主要组件和进程
     
        driver (进程):
        我们编写的spark程序就在driver上,由driver进程执行
     
        master(进程):
        主要负责资源的调度和分配,还有集群的监控
     
        worker(进程):
        主要负责
        1.用自己的内存 存储RDD的某个或某些partition;
        2.启动其它进程和线程,对RDD上的partition进行版型的处理和计算
     
        executor(进程):
        负责对RDD的partition进行并行计算,也就是执行我们对RDD栋定义,比如map/flatmap/reduce等算子操作
     
    task(线程):
        对RDD的partition数据执行指定的算子操作
     
    spark架构原理大致步骤:
    1. driver进程启动之后,会做初始化的操作,在这个过程中会发送请求到Master上,进行spark应用程序的注册,其实就是让master知道,有一个新的spark应用程序要运行
    2. master在接收到spark应用程序的注册申请之后,会发送请求给worker,进行资源的调度和分配;其实就是资源的分配就是对executor的分配
    3. worker接收到master的请求后会为spark应用启动executor
    4. executor启动之后,会向driver进行反注册,这样driver就知道哪些executor是为它进行服务的
    5. driver注册了一些executor之后,就可以开始正式执行我们的spark应用程序了,首先第一步就是创建初始RDD,读取数据源
    6. HDFS文件内容被读取到多个worker节点上,形成内存中的分布式数据集,也就是初始RDD
    7. 然后worker进程上就会出现一些RDD的partition
    8. driver会根据我们对RDD定义的操作,提交一大堆task去executor
    9. executor接收到task后,会启动多个线程来执行task
    10. task就会对RDD的partition数据执行指定的算子操作,然后形成新的RDD的partition
    此时一个循环就结束了,接下来会对新的RDD partition 那么driver又会提交新的task去操作直到这个spark应用执行完毕 
  • 相关阅读:
    js-格式化数字保留两位小数-带千分符
    java-byte[]图片在页面展示
    bootstrap-fileupload-上传文件控件
    css-让div永远在最底部
    hibernate-DetachedCriteria实现关联表条件复查
    eclipse-搭建maven的war项目集合spring注解方式
    spring-注解
    eclipse-mvn打包跳过junit测试类
    Spring-注解控件介绍
    java-读取类中的属性名称和值
  • 原文地址:https://www.cnblogs.com/yzqyxq/p/11691581.html
Copyright © 2011-2022 走看看