




已阅读5页,还剩33页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
HCNP,FusionInsight,R2CXX,1.0,2015.07,陈志强/345751,2015.10,吴鹏/316341,新开发,张伟/00301377,张伟/00301377,新开发,MapReduce和Yarn架构原理,学完本课程后,您将能够:了解MapReduce的使用场景了解MapReduce和Yarn功能与架构了解如何配置Yarn的资源了解MapReduce和Yarn的常用命令和参数,MapReduce应用场景MapReduce和Yarn功能与架构Yarn的资源管理和任务调度常用命令和参数,MapReduce应用场景,MapReduce基于Google发布的分布式计算框架MapReduce设计开发,用于大规模数据集(大于1TB)的并行运算,特点如下:易于编程:程序员仅需描述做什么,具体怎么做由系统的执行框架处理。良好的扩展性:支持添加机器扩展集群能力。高容错性:通过计算迁移或数据迁移等策略提高集群的可用性与容错性。,MapReduce应用场景,MapRedcue适合做什么大规模数据集的离线批处理计算任务分而治之,子任务相对独立MapRedcue不适合做什么实时的交互式计算,要求快速响应,低延迟,比如SQL查询流式计算、实时分析,比如广告点击计算等子任务之间相互依赖(迭代计算)谁在使用MapReduce,什么是Yarn,Yarn是Hadoop中的资源管理系统,它是一个通用的资源管理模块,可为各类应用程序提供资源管理和调度。,下面哪些是MapReduce的特点?()易于编程良好的扩展性实时计算高容错性,下面哪个是MapReduce适合使用的应用场景?()迭代计算离线计算实时交互计算流式计算,MapReduce应用场景MapReduce和Yarn功能与架构Yarn的资源管理和任务调度常用命令和参数,Yarn逻辑架构,API服务,调度器,应用管理,队列管理,AM管理,并行计算框架,ResourceManager,Yarn集群资源管理调度平台,节点管理,事件管理,节点配置管理,节点状态检查,节点心跳,Yarn的组件介绍,client,client,ResourceManager,NodeManager,NodeManager,NodeManager,Container,AppMstr,AppMstr,Container,Container,Container,MapReduceStatus,JobSubmission,NodeStatus,ResourceRequest,客户端与RM的内部交互原理,Yarn关键组件内部交互原理,Yarn只能支持MapReduce框架?()是否,Yarn中资源抽象用什么表示?()内存CPUContainer磁盘空间,MapReduce应用场景MapReduce和Yarn功能与架构Yarn的资源管理和任务调度常用命令和参数,资源表示模型,当前Yarn支持CPU和内存两种资源类型的管理和分配每个NodeManager可分配的CPU和内存的数量可以通过配置选项设置yarn.nodemanager.resource.memory-mbyarn.nodemanager.vmem-pmem-ratioyarn.nodemanager.resource.cpu-vcore,资源分配模型,ResourceManager核心模块是调度器,调度器维护一群队列的信息。用户可以向一个或者多个队列提交应用。每次NM心跳的时候,调度器根据一定的规则选择一个队列,再在队列上选择一个应用,尝试在这个应用上分配资源。,本地优化,本地优化:Yarn所运行应用输入都是HDFS上的文件。而HDFS上的文件是多副本存储的。假设文件系统的备份因子是3。则每一个文件块都会在3个机器上有副本。假如输入文件在ABC三个机器上有备份,如果AM申请到的container在这3个机器的其中一个,那这个task就无须从其它机器上传输要处理的文件段,节省网络传输。Yarn本地优化:本地申请机架申请任意申请,容量调度器的介绍,容量调度器使得hadoop应用能够共享的、多用户的、操作简便的运行在集群上,同时最大化集群的吞吐率和利用率。容量调度器以队列为单位划分资源,每个队列都有资源使用的下限和上限。每个用户也可以设定资源使用上限。一个队列的剩余资源可以共享给另一个队列,其他队列使用后还可以归还。管理员可以约束单个队列、用户或作业的资源使用。支持作业优先级,但不支持资源抢占。,容量调度器的特点,容量保证:管理员可为每个队列设置资源最低保证和资源使用上限,该队列的应用程序共享这些资源。灵活性:如果一个队列的资源有剩余,可以暂时共享给那些需要资源的队列,一旦该队列有新的应用程序提交,则其他队列释放的资源会归还给该队列。支持优先级:队列支持任务优先级调度(默认是FIFO)。多重租赁:支持多用户共享集群和多应用程序同时运行。为防止单个应用程序、用户或者队列独占集群资源,管理员可为之增加多重约束。动态更新配置文件:管理员可根据需要动态修改各种配置参数,以实现在线集群管理。,容量调度器的任务选择,调度时,首先按以下策略选择一个合适队列:资源利用量最低的队列优先,比如同级的两个队列Q1和Q2,它们的容量均为30,而Q1已使用10,Q2已使用12,则会优先将资源分配给Q1。最小队列层级优先,例如:QueueA与QueueB.childQueueB,则QueueA优先。资源回收请求队列优先。然后按以下策略选择该队列中一个任务:按照任务优先级和提交时间顺序选择,同时考虑用户资源量限制和内存限制。,队列资源限制,队列的资源容量(百分比):例如,有default、QueueA、QueueB、QueueC、QueueD五个队列,每个队列都有一个队列名.capacity配置;Default队列容量为整个集群资源的20%,QueueA队列容量为整个集群资源的40%,QueueB队列容量为整个集群资源的30%,并且5个队列的容量配置之和为100%。,队列资源限制,共享空闲资源由于存在资源共享,因此一个队列使用的资源可能超过其容量(例如QueueA.capacity),而最多使用资源量可通过该参数限制。yarn.scheduler.capacity.root.QueueA.maximum-capacity如果某个队列任务较少,可将剩余资源共享给其他队列,例如QueueA的maximum-capacity配置为100,假设当前只有QueueA在运行任务,理论上QueueA可以占用整个集群100%的资源。,用户限制,每个用户最低资源保障(百分比)任何时刻,一个队列中每个用户可使用的资源量均有一定的限制,当一个队列中同时运行多个用户的任务时,每个用户的可使用资源量在一个最小值与最大值之间浮动,其中,最大值取决于正在运行的任务数目,而最小值则由minimum-user-limit-percent决定。例如,设置队列A的这个值为25,即yarn.scheduler.capacity.root.QueueA.minimum-user-limit-percent=25,那么随着提任务的用户增加,队列资源的调整如下:,用户限制,每个用户最多可使用的资源量,是所在队列容量的倍数。yarn.scheduler.capacity.root.QueueD.user-limit-factor=1默认值为1,表示一个用户获取的资源容量不能超过队列配置的capacity,无论集群有多少空闲资源。最多不超过队列的maximum-capacity。,任务限制,最大活跃任务数整个集群中允许的最大活跃任务数,包括运行或挂起状态的所有任务,当提交的任务申请数据达到限制以后,新提交的任务将会被拒绝。默认10000yarn.scheduler.capacity.maximum-applications=10000每个队列最大任务数对于每个队列,可以提交的最大任务数。以QueueA为例,是通过下面的公式计算得到yarn.scheduler.capacity.root.QueueA.capacity*yarn.scheduler.capacity.maximum-applications如果yarn.scheduler.capacity.root.QueueA.capacity为40,那么QueueA最多能够接受的任务数为10000*40%=4000每个用户可以提交的最大任务数这个数值依赖每个队列最大任务数。假设根据上面的结果,QueueA最多可以提交4000个任务,那么对于每个用户而言,可以向QueueA提交的最大任务数为4000*yarn.scheduler.capacity.root.QueueA.minimum-user-limit-percent*yarn.scheduler.capacity.root.QueueA.user-limit-factor,容量调度器的特点?()容量保证灵活性多重租赁动态更新配置文件,Yarn中的调度器匹配资源申请的顺序?()任意机器-同机架-本地资源任意机器-本地资源-同机架本地资源-同机架-任意机器同机架-任意机器-本地资源,MapReduce应用场景MapReduce和Yarn功能与架构Yarn的资源管理和任务调度常用命令和参数,常用命令,yarncommand可同时供普通用户和管理员用户使用,它包含了少量普通用户可以执行的命令,比如jar、logs。大部分只有管理员有权限使用。用户可以通过以下命令查看yarn用法和帮助:yarnhelp用法:进入Yarn客户端的任意目录,直接运行命令即可。格式如下所示。yarn-configconfdirCOMMAND,常用命令,常用参数配置,要查看一个application的信息,需要使用什么命令?()containerapplic
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论