20200806——Yarn关于数据提交的过程

yarn数据提交的过程

首先编写作业,打成一个jar包,输入命令,提交运行作业

首先客户端提交作业,基于jvm

然后联系到RM,RM会返回一个id,告诉客户端当前的最大资源量与最小资源量

把当前的jar包,拷贝到hdfs中去,因为后续的nodemanager想要去获得这个jar包,运行程序。

提交当前作业到RM,RM根据提交过来的请求,生成一个container。

container会启动一个Application Master。

AM向RM注册自己,MR去读HDFS中的数据,计算出起多少个map和reduce任务。同时RM与AM保持心跳的形式,所以当RM给AM发送一些信息,AM申请Node Manager上面的新资源。

开启NM上的container进行运行任务。

本质

是在container中启动了一个java的进程来运行任务。那么这些jar包的数据一般都存在hdfs中。

Spark如何在yarn上运行

MR不适合应用的场景

第一种就是图算法,会有迭代运行MR作业

第二种就是交互式作业,交互式数据分析,需要快速feedback

第三种流式计算,无穷无尽的计算,需要不断的对数据进行聚合计算。

spark提供了什么

spark提供了一种新的数据抽象,RDD弹性分布式数据集,可以将数据存储在内存中,而不是存储到hdfs上面,使得迭代计算成为可能。

Yarn的部署

如果有多个组件,flink/spark/mr都有不同类型的作业形式,如果分开部署的话,资源的利用率不高。

你可能感兴趣的:(大数据)