spark学习笔记

1. 集群部署方式

   standalone

   Mesos

   Yarn

    K8s

2. 基本概念

  • Application:指的是用户编写的Spark应用程序,包含了含有一个Driver功能的代码和分布在集群中多个节点上运行的Executor代码。
  • Driver:运行Application的main函数并创建SparkContext,SparkContext的目的是为了准备Spark应用程序的运行环境。SparkContext负责资源的申请、任务分配和监控等。当Executor运行结束后,Driver负责关闭SparkContext;
  • Job:一个Application可以产生多个Job,其中Job由Spark Action触发产生。每个Job包含多个Task组成的并行计算。
  • Stage:每个Job会拆分为多个Task,作为一个TaskSet,称为Stage;Stage的划分和调度是由DAGScheduler负责的。Stage分为Result Stage和Shuffle Map Stage;
  • Task:Application的运行基本单位,Executor上的工作单元。其调度和 管理又TaskScheduler负责。
  • RDD:Spark基本计算单元,是Spark最核心的东西。表示已被分区、被序列化、不可变的、有容错机制的、能被并行操作的数据集合。
  • DAGScheduler:根据Job构建基于Stage的DAG,划分Stage依据是RDD之间的依赖关系。
  • TaskScheduler:将TaskSet提交给Worker运行,每个Worker运行了什么Task于此处分配。同时还负责监控、汇报任务运行情况等。

3. 基于ZookerKeep的HA来解决standalone的单机故障问题

posted @ 2019-06-12 11:15  学海无涯苦作舟_书山有路勤为径  阅读(146)  评论(0编辑  收藏  举报