谈一谈你对yarn 的理解?(大数据面试题系列!!!)

YARN 是hadoop 的集群资源管理器。Yarn 在Hadoop2 中被引入,是为了要改善MapReduce1 的实现,但它具有足够的通用性,同样也支持其他的分布式计算模式。

MapReduce1 的实现机制

MapReduce 包括几个高级组件。主进程JobTracker是所有MapReduce 作业的信息交流中心。每个节点都有一个TaskTracker进程,管理相应节点的任务。TaskTracker 与JobTracker 通信,并受其控制。

谈一谈你对yarn 的理解?(大数据面试题系列!!!)_第1张图片

JobTracker 负责工作节点的资源管理,监控资源的使用情况,管理作业的生命周期。

TaskTracker 的职责是根据JobTracker 的命令启动/清除任务,并且周期性的向JobTracker 汇报任务的状态信息。

yarn 应用运行机制

YARN 的基本思想就是将JobTracker 的两大主要职能:资源管理、作业的调度监控分为两个独立的进程。一个是全局的ResourceManager,另一个是每一个应用对应的ApplicationMaster。

谈一谈你对yarn 的理解?(大数据面试题系列!!!)_第2张图片

ResourceManager 是一个纯粹的调度器,它根据应用程序的资源请求严格限制系统的可用资源。在保证容量、公平性及服务器等级的前提下,优化集群资源利用率,即让所有的资源都能被充分利用。

ApplicationMaster 负责与ResourceManager 协商资源,并和NodeManager 进行协同工作来执行容器和监控容器的状态。

NodeManager 是YARN 节点上的工作进程,管理集群中独立的计算节点。其职责包括启动应用程序的容器,监控它们的资源使用情况,并且报告给ResourceManager。

你可能感兴趣的:(笔面试,大数据)