YARN架构及原理——知识总结

Yarn介绍:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ixnBITBI-1628996653626)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/f83db2cf-0de0-40fe-b4d1-dca3c51148e6/Untitled.png)]

  • Yarn是Hadoop集群中的资源管理系统模块,从Hadoop2.0引入Yarn模块,Yarn可以为各类计算框架提供资源管理和调度,主要用于管理集群当中的资源(主要是服务器的各种硬件资源,包括CPU、内存、磁盘、网络I/O)以及调度运行在Yarn上面的各种任务
  • 总结:调度系统资源、管理计算任务

Yarn的组成部分(Master/Slave架构):

  • Resource Manager(Applications Manager应用程序管理器、Scheduler调度器):
    • 处理Client请求
    • 对Node Manager的资源进行统一管理和调度
    • 给Application Master分配空闲Container运行并监控其状态
  • Node Manager:
    • 管理每个节点上的资源和任务
    • 处理来自Resource Manager的命令,定时汇报本节点的资源使用情况和各个Container的运行状态
    • 处理来自Application Master的命令,处理Application Master的Container启动/停止等请求
  • Application Master:
    • Client提交的应用程序均包含一个Application Master
    • 负责应用的监控、跟踪应用执行状态、重启失败任务等
    • 负责向Resouce Manager协调资源,为应用程序申请资源并分配任务
    • 负责与Node Manager协同工作完成Task的执行和监控
  • Container:
    • Yarn中的资源抽象,它封装了某个节点的多维度资源(内存、CPU、磁盘、网络等)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6oDJIQ0p-1628996653628)(https://s3-us-west-2.amazonaws.com/secure.notion-static.com/773e35fd-5db1-4721-b7e2-fb2d5c0869bc/Untitled.png)]

Yarn执行任务底层机制:

  • Client提交计算任务交给Resource Manager中的 Applications Manager
  • Rsource Manager 中的 Applications Manager找一个Node Manage启动第一个 Container,并在其中启动Application Master
  • Node Manager 中 Application Master与Resource Manager中的Applications Manager进行注册,就可以通过Resouce Manager进行Application Master状态的监控
  • Applicatoin Master向Resouce Manager中的Scheduler申请计算资源
  • Resouce Manager中的Scheduler以Container形式回复资源列表给Application Master
  • Application Master让资源列表的主机分配资源,去执行具体的计算任务,启动Container并在其中执行具体的任务
  • 执行具体的任务
  • 向Application Master汇报任务执行情况
  • Application Master向Resouce Manager中的Applications Manager汇报情况
  • 任务结果返回Client

Container分两类:

  1. 由Resource Manager向Node Manager中申请和启动的Container,用来运行Application Master
  2. 由Application Master向Resource Manager申请资源,并由Application Masger和其他Node Manager通信来启动Container来执行各类任务

Resource Manager实现HA原理:

  1. 创建锁节点:
    • 所有的RM启动时,会向Zookeeper竞争的创建一个临时子节点(锁节点),Zookeeper会保护最终只有一个RM可以创建成功,成功的RM为Active,失败的为Standby
  2. 注册Watcher监听:
    • 所有Standby的RM会向该锁节点注册Watcher的事件监听,获得子节点的变更的事件通知
  3. 主备切换:
    • 当Active状态的RM出现故障时,Zookeeper上的锁节点,因为是临时的,所以会被删除掉,其他Standby的RM节点会因为Watcher机制收到通知,开始重新竞争创建锁节点,更改状态
  4. 脑裂问题原理及解决办法:
    • 原因:RM由于网络闪退或者自身故障未及时对外做出响应,出现了假死状态,导致触发了Zookeeper新一轮的主备切换,但是对于假死的RM自身来说,它仍然认为自己是Active,所以导致整个系统出现两个Active的RM节点
    • 解决:在主备切换,RM竞争创建锁节点时,会携带Zookeeper的ACL权限进行限制,目的是独占该节点。在主备切换后,原来假死的RM在恢复后,会更新自己在Zookeeper的节点状态,但是发现自己的ACL权限不对,发现节点已经不是自己创建,会把自己更新为Standby状态。这样系统中就只有一个Active
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值