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应用执行完毕 
  • 相关阅读:
    pip安装flask问题解决
    GRE新东方推荐学习方法(2010年左右)
    使用eclipse IDE遇到的问题
    2014年互联网大会(商业价值,北京,7月)
    Indexing the World Wide Web: the Journey So Far阅读笔记
    Big Data Opportunities and Challenges(by周志华)论文要点
    spark常用算子总结
    使用Faster R-CNN做目标检测
    Oracle 性能调优 SQL_TRACE
    Oracle 性能调优 10053事件
  • 原文地址:https://www.cnblogs.com/yzqyxq/p/11691581.html
Copyright © 2011-2022 走看看