欢迎光临散文网 会员登陆 & 注册

锁屏面试题百日百刷-Spark篇(十二)

2023-03-23 21:18 作者:zjlala96  | 我要投稿

锁屏面试题百日百刷,每个工作日坚持更新面试题。锁屏面试题app、小程序现已上线,官网地址:https://www.demosoftware.cn。已收录了每日更新的面试题的所有内容,还包含特色的解锁屏幕复习面试题、每日编程题目邮件推送等功能。让你在面试中先人一步!接下来的是今日的面试题:


1.Yarn中的container是由谁负责销毁的,在Hadoop Mapreduce中container可以复用么?

答:ApplicationMaster负责销毁,在Hadoop Mapreduce不可以复用,在spark on yarn程序container可以复用

2.spark on yarn Cluster 模式下,ApplicationMaster和driver是在同一个进程么?

是,driver 位于ApplicationMaster进程中。该进程负责申请资源,还负责监控程序、资源的动态情况。

3.如何使用命令查看application运行的日志信息

yarn logs -applicationId <app ID>

4.Spark on Yarn 模式有哪些优点?

1)与其他计算框架共享集群资源(eg.Spark框架与MapReduce框架同时运行,如果不用Yarn进行资源分配,MapReduce分到的内存资源会很少,效率低下);资源按需分配,进而提高集群资源利用等。

2)相较于Spark自带的Standalone模式,Yarn的资源分配更加细致

3)Application部署简化,例如Spark,Storm等多种框架的应用由客户端提交后,由Yarn负责资源的管理和调度,利用Container作为资源隔离的单位,以它为单位去使用内存,cpu等。

4)Yarn通过队列的方式,管理同时运行在Yarn集群中的多个服务,可根据不同类型的应用程序负载情况,调整对应的资源使用量,实现资源弹性管理

5.谈谈你对container的理解?

1)Container作为资源分配和调度的基本单位,其中封装了的资源如内存,CPU,磁盘,网络带宽等。 目前yarn仅仅封装内存和CPU

2)Container由ApplicationMaster向ResourceManager申请的,由ResouceManager中的资源调度器异步分配给ApplicationMaster

3)Container的运行是由ApplicationMaster向资源所在的NodeManager发起的,Container运行时需提供内部执行的任务命令

6.运行在yarn中Application有几种类型的container?

1)运行ApplicationMaster的Container:这是由ResourceManager(向内部的资源调度器)申请和启动的,用户提交应用程序时,可指定唯一的ApplicationMaster所需的资源;

2)运行各类任务的Container:这是由ApplicationMaster向ResourceManager申请的,并由ApplicationMaster与NodeManager通信以启动。

7.Spark on Yarn架构是怎么样的?(画图)

Yarn提到的App Master可以理解为Spark中Standalone模式中的driver。Container中运行着Executor,在Executor中以多线程并行的方式运行Task。运行过程和第二题相似。

1、客户端提交一个Application,在客户端启动一个Driver进程。

2、Driver进程会向RS(ResourceManager)发送请求,启动AM(ApplicationMaster)的资源。

3、RS收到请求,随机选择一台NM(NodeManager)启动AM。这里的NM相当于Standalone中的Worker节点。

4、AM启动后,会向RS请求一批container资源,用于启动Executor. RS会找到一批NM返回给AM,用于启动Executor。

5、AM会向NM发送命令启动Executor。

6、Executor启动后,会反向注册给Driver,Driver发送task到Executor,执行情况和结果返回给Driver端。

锁屏面试题百日百刷-Spark篇(十二)的评论 (共 条)

分享到微博请遵守国家法律