yarn框架运行过程
Mapreduce1.0缺点:
只有一个Jobtracker,存在单点故障的问题,
jobtracker任务过重,内存开销大,上限4000个节点
资源分配不合理,把CPU分成slot,mapslot 和reduceslot不能互用
于是提出了Yarn(hadoop2.0)
Yarn基本就是对Mapreduce1.0的功能进行了拆分:
Jobtracker负责的资源管理任务交给Yarn中ResourceManager去完成,任务调度和任务监控交给ApplicationMaster去完成
TaskTracker任务交给NodeManager完成
yarn只是一个资源调度框架,配合mapredyce2.0纯计算框架,而mapreduce1.0即是计算框架也是资源调度框架
mapreduce2.0写了一些基类,你可以继承这些基类去写然后shuffle,怎么分配CPU资源他不负责
Yarn的体系架构:
Resourcemanager处理客户端的请求,启动监控ApllicationMaster,监控NodeManager,负责资源调度分配,包括两大组件,调度器和应用程序管理器
AplicatonMaster为应用程序申请资源,并分配给内部任务,任务调度监控和容错,用户作业提交时,他去RM协调获取资源,RM以容器形式分配给他,他再把获得的资源进一步分配给内部的各个任务,实现资源二次分配,他还会和NodeManager保持沟通,通知NodeMAnager的启停,任务失败时重启,作业完成时,ApplicationMaster向RM注销容器,执行周期完成
NodeManager单个节点上的资源管理,主要负责容器的管理,不管任务,处理来自ResourceManager的命令,出来来自applicationMaster的命令,负责一些任务的启停,NodeManager里面有个容器container,封装了一定量的CPU资源,不是slot了,去限定每个应用程序可以使用的资源量,container是动态的,调度器接受来自ApplicationMaster的请求,把资源以container的单位分配给应用程序,这里分配离数据位置近的资源,实现计算向数据靠拢,他也会以心跳的方式一直给RM报告,因为任务中,资源的容器由NodeManager代为保管,他监控着容器使用情况,他得告诉RM资源用的怎么样,也得跟踪节点的健康状况,看看有没有节点宕机了,还得接受ApplicationMaster启停容器的请求,因为ApplicationMaster是作业管家
- 点赞
- 收藏
- 分享
- 文章举报
- 感知机原理
- SVM
- Mnist explaination--introduce to tensorflow
- 异常值检测
- sql server
- Windows10: 使用IntelliJ IDEA远程连接Hadoop
- cuda、pytorch 安装问题
- 2020年阿里巴巴实习笔试编程题
- 2020腾讯C++后台开发暑期实习电话面(一)
- C++内存管理(面试版)
- C++ 关键字explicit与函数memset()详解
- C++Lambda匿名函数(详解)
- 记录下微信小程序订阅消息的前后台开发(不是推送消息)
- 当人工智能遇到神经科学,二者联手势不可挡!
- 今日芯声 | 小米成立10周年,雷军:无数记忆仿佛就在昨天
- 【华为云技术分享】Linux软件安装的几种方法 (一)—— apt-get
- 【华为云技术分享】一行代码就能写一个日志打印组件,你信吗?为你揭晓LiteOS中日志打印组件的核心
- 【华为云技术分享】使用sqoop导入mysql数据到hive中
- 【2020-MOOC-浙江大学-陈越、何钦铭-数据结构】图(第六周的笔记和编程作业)
- 爬虫代码详解Python多线程、多进程、协程