Yarn基础知识
1、什么是Yarn
通用资源管理系统和调度平台
2、Yarn特点:
1、支持多计算框架
2、资源利用率高,运行成本低,数据共享。
3、Yarn的意义:
减少了企业的硬件成本(多个集群合并为一个集群),降低了资源浪费程度,并使运营成本降低
4、Yarn基本组成
ResourceManager模块:负责集群资源调度的管理者
NodeManager模块:负责节点资源调度的管理者(集群各节点资源的工作者)
ApplicationMaster模块:负责计算任务的管理者
Container:容器(提供CPU和内存)
5、Yarn提交任务的流程

1、客户将应用程序提交给RM,并包含启动该应用所需的必要信息(如ApplicationMaster程序、启动命令等)。
2、Resource Manager初始化一个容器以运行Application Master服务。
3、正在运行的应用程序实例会在首次登录时主动与 ResourceManager 进行身份验证注册,并保持心跳连接以确保通信正常。
4、当 Application Master实例接收到任务请求时会根据任务类型自动发起相应的操作请求(如创建新的容器)。
5、当容器申请成功后, Application Master负责进行初始化配置,并确保相关服务能够顺利部署到新创建的容器中。
6、Node Manager NM负责启动所有待部署的应用程序并确保它们能够正确连接到 ResourceManager所在的集群中。
7、容器在运行过程中, 应用程序实例会持续监控其状态参数(如CPU负载, 内存使用情况等)并定期发送监控数据给 ResourceManager以便及时发现异常情况.
8、当应用完全退出后, 应用主将从 ResourceManager中卸载自身并释放其相关的资源, 确保系统能够快速进入空闲状态以便供其他应用程序使用。
6、Yarn的调度方式
FIFO scheduler 采用先进先出机制(按照到达时间依次处理)。该机制适用于队列式任务处理场景。
- 先进先出原则:优先提交的任务最先执行而后续提交的任务则需等待(火车过隧道)。
- 容量调度机制支持创建多个任务对列每个队列可分配使用部分系统资源且这些队列可以同时运行然而,在同一队列内部仍然遵循先进先出原则CDH采用了这一默认的设计。
- 公平调度策略规定初始程序在启动时占据所有可用对列空间(100%使用率)当其他对列出现新任务请求时占据现有对行列使该程序暂停运行以腾出空间释放所占 resources 资源释放过程中效率较低。
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组件未能有效解决单一故障点问题(Single Point of Failure, SPOF),而Yarn HA组件则负责解决ResourceManager中的单一故障点问题。
3、该方案涉及两种不同的状态模式:活性节点(Active Node)与备用节点( Stand By Node)。每个活性节点都需要配置一个 zookeeper 服务(ZKFC),并且这些活性节点分别部署在完全独立的两台服务器上以确保系统的高可用性与容错能力。
4、为实现高效的负载均衡与资源管理,在该方案中我们采用 JN 软件交换机制来进行元数据同步与传输操作。
10、ZKFC作用:
实时监测该节点所属硬件设备、软件系统(如神经网络模块)以及操作系统状态的同时,并持续保障与ZK系统的通信连接。其主要功能在于支持两个神经网络之间的状态转换过程的信息传输
11、NN Active 状态和StandBy状态的确认:
两个神经元(NN)接入了一个临时生成的Zero-Knowledge(ZK)集群,并注册了一个虚拟节点(ZNode)。最先成功接入的节点将被标记为Active节点,则另一个将作为 StandBy 节点运行。
12、ActiveNN宕机后故障如何转移
当 ActiveNN 节点出现故障时,
系统会触发 Active_ZKF_C 以删除相关的临时 ZNode。
处于 standby 状态下的 ZKF_C 将持续监控该临时 ZNode 的变化,在检测到其发生消亡事件后立即通知 standby 状态下的 NN。
standbY 状态下的 NN 通过远程登录机制连接到 Active_NN 并执行 kill -9 命令以终止其运行。
standbY 状态下的 NN 会向 standby 状态下的 ZKF_C 发出指令使其在 ZK 上注册并激活该临时 ZNode。
13、两个NN之间的元数据信息如何实现快速同步?
Active NN即时将FSimage与日志接入高效稳定的存储平台JN中;而 Stand By NN则持续采集并完成高效的数据同步,在两个节点间协调元数据的变化
