YARN的基本想法是从资源管理和job的监控调度中分离出来(也就是从mapreduce中分离出来)。有一个全局的资源管理器(ReourceManager,RM)和每个应用一个的应用主程序(ApplicationMaster AM)。应用可以是一个job也可是一个job的有向无环图。
YARN还有个Federation功能,可以多个独立的集群联合成一个巨大的集群,运行超大的任务。
1 ResourceManager
对资源有绝对的控制权,分配资源到各个应用。有2个重要的组件:调度器和应用管理器
1.1 调度器
是一个可拔插的策略,用来从容器中分配资源。资源通过虚拟化的资源container来分配。Container包含内存,cpu等信息,任务在Container中运行。
1.2 应用管理器
负责接收提交的job,并且通过第一个容器来启动ApplicationMaster,提供重启服务
2 NodeManger
管理容器,监控资源使用,并报告到调度器
3 ApplicationMaster
由应用管理器通过第一个容器执行,并提供ApplicationMaster的重启服务。用来通过从资源管理器分配来的资源(容器)和nodemanager一起执行和监控任务。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
2018-06-28 firewall防火墙使用