【big data】hadoop-yarn-spark

本文介绍了Hadoop YARN的基本概念,强调了YARN在集群资源管理和任务调度中的作用。接着,重点讲解了Apache Spark的架构及其作为Hadoop补充的角色。特别是讨论了Spark on YARN的部署模式,包括client和cluster模式,以及提交Spark任务的详细过程,如设置executor资源和队列等。
摘要由CSDN通过智能技术生成

目录

Hadoop

Yarn

Spark

spark架构

spark on yarn

提交任务


Hadoop

看下图,传统的操作系统主要是文件系统处理器,迁移到集群模式对应Hadoop的HDFSYARN(Yet Another Resource Negotiator),Yarn负责执行,调度,决定可以做什么以及在哪里进行。

Yarn

YARN(Yet Another Resource Negotiator)是个集群管理器,负责整个集群资源的调度和任务的执行。

组件功能

RM

ResourceManager

资源管理器

一个集群一个,负责集群统一管理和调度
处理客户端的请求: 提交一个作业、杀死一个作业
监控NM,一旦某个NM挂了,那么该NM上运行的任务需要告诉AM来如何进行处理

NM

NodeManager

节点管理器

一个集群中有多个,

负责当前节点资源管理和使用
定时向RM汇报本节点的资源使用情况
接收并处理来自RM的各种命令:启动Container
处理来自AM的命令
单个节点的资源管理

AM

ApplicationMaster

应用(任务)管理器

每个应用程序对应一个:MR、Spark,负责应用程序的管理
为应用程序向RM申请资源(core、memory),分配给内部task
需要与NM通信:启动/停止task,task是运行在container里面,AM也是运行在container里面

Container

容器

一个节点上有多个Container,由NM管理分配给application

封装了CPU、Memory等资源的一个容器
是一个任务运行环境的抽象

Client

客户端 

提交作业 submit
查询作业的运行进度
死作业 kill

Spark

Apache Spark被认为是对原始大数据技术Hadoop的强大补充。 Apache Spark是一种更易于访问、功能强大的工具,用于解决与大数据有关的各种任务,它已成为大数据的主流和最需要的框架,从2.0版开始,Spark已成为Hadoop的一部分。

Apache Spark是一个用于批处理流处理的开源云计算框架,旨在用于快速内存数据处理。它运行在其它系统之上,可以在EC2,Hadoop YARN,Mesos或Kubernetes上使用独立集群模式运行Spark。我将告诉您最流行的构建:Hadoop Yarn的Spark。

spark架构

spark on yarn

提交任务

spark客户端提交任务如下,提交了一个样例程序

--master参数指定主服务器的地址,在YARN模式下,ResourceManager RM的地址从Hadoop配置中获取的,--master参数是yarn;

--deploy-mode有两种模式,cluster模式是指spark driver运行在AM内,而client模式是指driver运行在客户端;

--executor-cores、memory指的是container的核数和内存资源

--queue

$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi \
    --master yarn \
    --deploy-mode cluster \
    --driver-memory 4g \
    --executor-memory 2g \
    --executor-cores 1 \
    --queue thequeue \
    examples/jars/spark-examples*.jar \
    10

当客户端提交一个任务时,

RM会分配一个Container容器作为任务的ApplicationMaster AM,

AM会向RM注册自身并申请资源(内存、处理器),

申请到资源后AM启动container,并上报配置给NM,

NM监控container并将任务状态上报给RM,

客户端与AM交互,获取任务状态;

当任务执行结束,AM向AM deregister自身,并释放contaner资源。

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值