理解Spark

Spark

Hadoop框架存在的问题

  • JobTracker是MapReduce的集中处理点,存在单点故障的问题
  • 以MapReduce task数目作为资源的表示比较简单,没有考虑CPU和内存占用情况
  • 任务集中导致源代码复杂,增加bug修复和系统维护的难度

RDD

RDD(Resilient Distributed Dataset)是一个可读的、可分区的分布式数据集,任何数据在spark中都可以被表示为RDD

Spark应用程序

把需要处理的数据转为RDD,然后对RDD进行一系列的变换和操作
在这里插入图片描述
Driver Program程序入口,运行App的main,创建SparkContext
Cluster Manager:在集群上获取资源的外部服务
Workder Node:可以运行application代码的节点
Executor:一个进程,该进程负责运行task

Spark on yarn-cluster框架

Yarn的基本思想

Yarn的基本思想是将JobTracker的资源管理和作业调度分离

  • 资源管理:ResourceManager
  • 作业调度:ApplicationMaster创建SparkContext

在这里插入图片描述
在这里插入图片描述

ResourceManager

负责资源管理与调度,资源管理的基本单位:task

NodeManager

节点代理,负责:

  1. 启动container/executor
  2. 监控资源使用情况给RM
Application Master

负责作业调度

  1. 是第一个container
  2. 启动SparkContext
SparkContext
  1. 向RM注册
  2. 向RM申请资源
  3. 启动executor等待task
  4. 分配task给NM上的executor
  5. 监控task的运行情况
Spark on yarn-cluster流程

在这里插入图片描述

  1. 提交Application给RM
  2. RM向NodeManager申请第一个container给Application Master,Application Mater初始化SparkContext
  3. SparkContext向RM注册,并且申请运行executor的资源
  4. SparkContext和NodeManager通信,启动executor,SparkContext分配task给executor执行
  5. executor报告task的状态,直至完成
  6. 注销Application,归还资源
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值