zoukankan      html  css  js  c++  java
  • Spark总结

    1/ Spark集群
    Master:
    Worker:

    2/ Cluster manager:在集群上获取资源的外部服务
    Standalone:Spark原生的资源管理,由Master负责资源分配
    Hadoop Yarn:由Yarn中的ResourceManager负责资源分配

    3/ Application:用户提交的应用程序
    Driver(SparkContext):与Cluster Manager通信,进行资源申请
    用户提交的应用程序的划分

    4/ Driver向Master(standalone)申请资源

    5/ Master负责安排Worker,Worker负责启动Executor(进程)运行Task

    6/ 运行过程,Dirver和Executor通信


    问题:
    1/ Yarn中的ResourceManager分配的是Spark中的Wroker还是Yarn中的NodeManager运行Task?


    2/ 应用程序的划分?


    3/ 不同的Application可以共享数据吗?
    每个Application获取专属的executor进程,该进程在Application期间一直驻留,并以多线程方式运行tasks。这种Application隔离机制有其优势的,无论是从调度角度看(每个Driver调度它自己的任务),还是从运行角度看(来自不同Application的Task运行在不同的JVM中)。当然,这也意味着Spark Application不能跨应用程序共享数据,除非将数据写入到外部存储系统

    4/ Driver运行在哪里?
    要根据spark-submit的提交方式:
    a. Spark Standalone Mode:
    Client Mode: Driver的启动和提交应用程序的客户端在同一个进程
    Cluster Mode: Driver得启动是在集群中的一个Wrok进程,并且客户端进程在履行完应用程序的提交责任后立即退出,而不是等应用程序执行完
    b. Yarn

    5/ Master怎么知道分配那些Wroker?
    Worker向Master发送心跳

  • 相关阅读:
    java数据库编程之DAO模式
    java数据库编程之JDBC
    java数据库编程之初始Mysql
    java数据库编程之常用的操作用户和赋权限
    java数据库编程之事务、视图、索引、备份、恢复
    java数据库编程之嵌套子查询及exists的使用
    .net窗体程序的基础知识及详细笔记
    sql sever 基础知识及详细笔记
    java基础知识及详细笔记
    计算机基础知识及笔记
  • 原文地址:https://www.cnblogs.com/skorzeny/p/7300597.html
Copyright © 2011-2022 走看看