drs的意思:分布式资源调度程序,根据对资源池资源负载的动态监控,合理触发均匀分配规则,最终实现资源池中的物理服务器之间重新分布虚拟机的目的 。
当虚拟机遇到负载增大时,DRS将通过在资源池中的物理服务器之间重新分布虚拟机来自动为其分配更多资源。
维护文档:
在DRS配置界面上,你没有一个简单的方式导出规则和配置。这意味着DRS基础架构的关键一块没有任何DRS文档。十有八九你会认为永久删除这些DRS设置是很遥远的,事实上除了删除规则的唯一方法是完全禁用DRS。
没有人会这样做,不幸的是,这事经常发生,在两个不同的场合,我见过拥有VMware认证的专业人士在一个群集上禁用了DRS,反而不点击DRS主机监控以及将DRS制为手动模式,他们在集群设置上没有勾选DRS的勾选框,相当于从群集中卸载了DRS功能。
不同于其他DRS应用程序,这个没有取消按钮以及你的DRS规则将永久删除——除非你之前把DRS写下来了。创建一个单独DRS虚拟机的,DRS启动优先级和资源池设置DRS规则的电子表格,在这不可思议的事件中可以是一个DRS救星。
YARN是Hadoop2.x才有的,所以在介绍YARN之前,我们先看一下MapReduce1.x时所存在的问题:
1.1 MapReduce1.x时的架构
可以看到,1.x时,即 Master/Slave 主从结构,在集群上的表现就是一个JobTracker带多个TaskTracker
1.2 该架构存在的问题
由于1.x版本不支持其他框架的作业,所以导致我们需要根据不同的框架去搭建多个集群。这样就会导致资源利用率比较低以及运维成本过高,因为多个集群会导致服务环境比较复杂
在上图中我们可以看到,不同的框架不仅需要搭建不同的集群
而且这些集群很多时候并不是总是在工作,如上图可以看到,Hadoop集群在忙的时候Spark就比较闲,Spark集群比较忙的时候Hadoop集群就比较闲,而MPI集群则是整体并不是很忙
这样就无法高效的利用资源,因为这些不同的集群无法互相使用资源
除此之外,我们还得运维这些个不同的集群,而且文件系统是无法共享的
如果当需要将Hadoop集群上的HDFS里存储的数据传输到Spark集群上进行计算时,还会耗费相当大的网络IO流量
所以我们就想着要把这些集群都合并在一起,让这些不同的框架能够运行在同一个集群上,这样就能解决这各种各样的问题了.如下
正是因为在1.x中,有各种各样的问题,才使得YARN得以诞生,而YARN就可以令这些不同的框架运行在同一个集群上,并为它们调度资源
在上图中,我们可以看到,集群最底层的是HDFS,在其之上的就是YARN层,而在YARN层上则是各种不同的计算框架。所以不同计算框架可以共享同一个HDFS集群上的数据,享受整体的资源调度,进而提高集群资源的利用率,这也就是所谓的 xxx on YARN
2.1 概述
2.2 核心组件
2.2.1 ResourceManager(RM)
2.2.2 NodeManager(NM)
整个集群中会有多个NM,它主要负责自己本身节点的资源管理和使用,以及定时向RM汇报本节点的资源使用情况。接收并处理来自RM的各种命令,例如:启动Container。NM还需要处理来自AM的命令,例如:AM会告诉NM需要启动多少个Container来跑task。
2.2.3 ApplicationMaster(AM)
每个应用程序都对应着一个AM。例如:MapReduce会对应一个、Spark会对应一个。它主要负责应用程序的管理,为应用程序向RM申请资源(Core、Memory),将资源分配给内部的task。AM需要与NM通信,以此来启动或停止task。task是运行在Container里面的,所以AM也是运行在Container里面。
2.2.4 Container
封装了CPU、Memory等资源的一个容器,相当于是一个任务运行环境的抽象
2.2.5 Client
客户端,它可以提交作业、查询作业的运行进度以及结束作业
官网
1.client向yarn提交job,首先找ResourceManager分配资源,
2.ResourceManager开启一个Container,在Container中运行一个Application manager
3.Application manager找一台nodemanager启动Application master,计算任务所需的计算
4.Application master向Application manager(Yarn)申请运行任务所需的资源
5.Resource scheduler将资源封装发给Application master
6.Application master将获取到的资源分配给各个nodemanager
7.各个nodemanager得到任务和资源开始执行map task
8.map task执行结束后,开始执行reduce task
9.map task和 reduce task将执行结果反馈给Application master
10.Application master将任务执行的结果反馈pplication manager。
另外找到两篇关于YARN执行流程不错的文章:
4.1 官方文档指南
验证
到此为止,我们的yarn环境就搭建完成了.
5.1 提交作业
虽然我们没有搭建MapReduce的环境,但是我们可以使用Hadoop自带的一些测试例子来演示一下如何提交作业到YARN上执行。Hadoop把example的包放在了如下路径,可以看到有好几个jar包:
5.2 命令说明
5.3 运行以上命令后,到浏览器页面上进行查看,会有以下三个阶段:
5.3.1 接收资源
5.3.2 运行作业
5.3.3 作业完成
DRS(Distributed Resource Scheduler)分布式资源调度程序,根据对资源池资源负载的动态监控,合理触发均匀分配规则,最终实现资源池中的物理服务器之间重新分布虚拟机的目的 。当虚拟机遇到负载增大时,DRS将通过在资源池中的物理服务器之间重新分布虚拟机来自动为其分配更多资源。VMware Infrastructure 3 DRS(Distributed Resource Scheduler) Vmware 分布式资源调度程序(DRS)跨聚合到逻辑资源池中的硬件资源集合来动态地分配和平衡计算容量。Vmware DRS跨资源池不间断地监控利用率,并根据反映了业务需要和不断变化的优先事务的预定义的规则,在多个虚拟机之间智能地分配可用资源。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)