0
点赞
收藏
分享

微信扫一扫

Yarn知识点整理

朱悟能_9ad4 2022-04-01 阅读 86


        前段时间记录了技术博客Yarn快速入门系列(1-5),详情请见Yarn专栏。最近打算花点时间把Yarn也精炼一番,整理出来,以便于后期的快速复习。

Yarn知识点整理_hadoop


文章目录

  • ​​1、什么是Yarn​​
  • ​​2、Yarn特点​​
  • ​​3、Yarn的意义​​
  • ​​4、Yarn基本组成​​
  • ​​5、Yarn提交任务的流程​​
  • ​​6、Yarn的调度方式​​
  • ​​7、参数yarn.scheduler.fair.allow-undeclared-pools的作用是?(true/false)​​
  • ​​8、参数yarn.scheduler.fair.user-as-default-queue的作用是?(true/false)​​
  • ​​9、介绍一下hadoopHA​​
  • ​​10、ZKFC作用:​​
  • ​​11、NameNode 中 Active状态和StandBy状态的确认:​​
  • ​​12、ActiveNameNode宕机之后故障如何转移​​
  • ​​13、两个NameNode之间的元数据信息如何实现快速同步?​​

1、什么是Yarn

        Yarn是通用资源管理系统和调度平台

2、Yarn特点

        1、支持多计算框架

        2、资源利用率高,运行成本低,数据共享

3、Yarn的意义

        降低了企业硬件的成本(多个集群变成一个集群),减少了资源的浪费,运营成本低。

4、Yarn基本组成

        ResourceManager:一个集群资源调度的管理者

        NodeManager:一个节点资源调度的管理者(集群各个节点资源的工作者)

        ApplicationMaster:一个计算任务的管理者

        Container:容器(cpu和内存)

5、Yarn提交任务的流程

Yarn知识点整理_元数据_02

        1、client向RM提交应用程序,其中包括启动该应用的ApplicationMaster的必须信息,例如ApplicationMaster程序、启动ApplicationMaster的命令、用户程序等。

        2、ResourceManager启动一个container用于运行ApplicationMaster

        3、启动中的ApplicationMaster向ResourceManager注册自己,启动成功后与RM保持心跳。

        4、ApplicationMaster向ResourceManager发送请求,申请相应数目的container。

        5、申请成功的container,由ApplicationMaster进行​初始化​。container的启动信息初始化后,AM与对应的NodeManager通信,​要求NM启动container​。

        6、NM启动启动container。

        7、container运行期间,ApplicationMaster对container进行监控。container通过RPC协议向对应的AM汇报自己的进度和状态等信息。

        8、应用运行结束后,ApplicationMaster向ResourceManager​注销自己​,并允许属于它的container被收回。

6、Yarn的调度方式

        FIFO Scheduler : 先进先出(先来后到的顺序)

        Capacity Scheduler:容量调度

        Fair Scheduler:公平调度

1、先进先出:优先提交的,优先执行,后面提交的等待。(火车过隧道)。

2、容量调度:允许创建多个任务对列,每个队列使用所有资源的一部分。多个任务对列可以同时执行。但是一个队列内部还是先进先出。​CDH默认的调度器​。

3、公平调度:第一个程序在启动时可以占用其他对列的资源(100%占用),当其他对列有任务提交时,占用资源的对列需要将资源还给该任务。还资源的时候,效率比较慢。

7、参数yarn.scheduler.fair.allow-undeclared-pools的作用是?(true/false)

        如果提交一个任务没有到任何的队列,是否允许创建一个新的队列,默认为true

8、参数yarn.scheduler.fair.user-as-default-queue的作用是?(true/false)

        是否提交到默认队列 ,以用户名为默认队列

9、介绍一下hadoopHA

        1、HadoopHA 包括两个部分,NameNodeHA和ResourceManagerHA

        2、hadoop HA解决了早期版本中的NameNode单点问题。YarnHA解决了ResourceManager的单点问题

        3、NameNodeHA方案中包含两个NameNode,一个是Active状态,一个是StandBy状态。每个NameNode分配在两个完全独立的服务器中。每个Namenode所在的节点需配置一个ZKFC。

        4、两个Namenode之间的元数据同步使用JN(JournalNode )传递。

10、ZKFC作用:

        监控NameNode所在节点的硬件设备,软件,操作系统,同时维护与ZK的通信。主要用于两个NameNode之间状态切换时的信息传递。

11、NameNode 中 Active状态和StandBy状态的确认:

        两个NameNode到ZooKeeper集群注册一个临时的ZNode,哪个先注册成功,哪个就是Active,另外一个就是StandBy。

12、ActiveNameNode宕机之后故障如何转移

        当ActiveNN节点故障 ​——>

        ActiveZKFC通知ZK删除临时ZNode ​——>

        StandBy状态的ZKFC订阅这个临时ZNode的变换,若ZNode消失,StandBy状态的ZKCF立刻通知StandBy NN ​——>

        StandBy NN 远程登录ActiveNN,执行Kill -9 ActiveNN ​——>

        StandBy NN通知StandBy ZKFC去ZK上注册临时ZNode,注册成功切换为active状态。

13、两个NameNode之间的元数据信息如何实现快速同步?

        ActiveNameNode实时将FSimage和日志接入JournalNode(高效的存储系统)。StandByNameNode实时获取JournalNode内部的数据,实现两个节点的实时元数据同步。

Yarn知识点整理_元数据_03

        本篇的知识分享就到这里,受益或对大数据技术感兴趣的朋友可以关注一下我哟~

Yarn知识点整理_元数据_04



举报

相关推荐

0 条评论