Yran架构

Yarn架构图.png

ResourceManager(rm):处理客户端请求,启动/监控ApplicationMaster,监控NodeManager、资源分配与调度。

NodeManager(nm):单个节点上的资源管理、处理来时RM的命令、处理来自AppMaster的的命令

ApplicationMaster(am):数据切片、为应用程序申请资源,被分配内部任务、任务监控与容错。

Container:对任务运行环境的抽象,封装了CPU、内存等资源以及环境变量、启动命令等任务运行相关信息

Yarn任务提交(工作机制)

Yarn的工作机制.png

作业提交过程之YARN

作业提交

第1步:Client调用job.waitForCompletion方法,向整个集群提交MapReduce作业。

第2步:Client向RM申请一个作业id。

第3步:RM给Client返回该job资源的提交路径和作业id。

第4步:Client提交jar包、切片信息和配置文件到指定的资源提交路径。

第5步:Client提交完资源后,向RM申请运行MrAppMaster。

作业初始化

第6步:当RM收到Client的请求后,将该job添加到容量调度器中。

第7步:某一个空闲的NM领取到该Job。

第8步:该NM创建Container,并产生MRAppmaster。

第9步:下载Client提交的资源到本地。

任务分配

第10步:MrAppMaster向RM申请运行多个MapTask任务资源。

第11步:RM将运行MapTask任务分配给另外两个NodeManager,另两个NodeManager分 别领取任务并创建容器。

任务运行

第12步:MR向两个接收到任务的NodeManager发送程序启动脚本,这两个NodeManager 分别启动MapTask,MapTask对数据分区排序。

第13步:MrAppMaster等待所有MapTask运行完毕后,向RM申请容器,运行ReduceTask。

第14步:ReduceTask向MapTask获取相应分区的数据。

第15步:程序运行完毕后,MR会向RM申请注销自己。

进度和状态更新 YARN中的任务将其进度和状态返回给应用管理器, 客户端每秒(通过mapreduce.client.progressmonitor.pollinterval设置)向应用管理器请求进度更新, 展示给用 户

作业完成 除了向应用管理器请求作业进度外, 客户端每5秒都会通过调用waitForCompletion()来检查作业是否完成。时间间隔可以通过mapreduce.client.completion.pollinterval来设置。作业完 成之后, 应用管理器和Container会清理工作状态。作业的信息会被作业历史服务器存储以备 之后用户核查。

Yarn调度策略

Hadoop作业调度器主要有三种:FIFO、Capacity Scheduler和Fair Scheduler。Hadoop2.9.2默认的资 源调度器是Capacity Scheduler。

FIFO: 先进先出调度器

Capacity Scheduler 容量调度器

Apache Hadoop默认使用的调度策略。Capacity 调度器允许多个组织共享整个集群,每个组织可 以获得集群的一部分计算能力。通过为每个组织分配专门的队列,然后再为每个队列分配一定的集 群资源,这样整个集群就可以通过设置多个队列的方式给多个组织提供服务了。除此之外,队列内 部又可以垂直划分,这样一个组织内部的多个成员就可以共享这个队列资源了,在一个队列内部, 资源的调度是采用的是先进先出(FIFO)策略。

Fair Scheduler 公平调度器

Fair调度器的设计目标是为所有的应用分配公平的资源(对公平的定义可以通过参数来设置)。公 平调度在也可以在多个队列间工作。举个例子,假设有两个用户A和B,他们分别拥有一个队列。 当A启动一个job而B没有任务时,A会获得全部集群资源;当B启动一个job后,A的job会继续运 行,不过一会儿之后两个任务会各自获得一半的集群资源。如果此时B再启动第二个job并且其它 job还在运行,则它将会和B的第一个job共享B这个队列的资源,也就是B的两个job会用于四分之 一的集群资源,而A的job仍然用于集群一半的资源,结果就是资源最终在两个用户之间平等的共 享

调度器.png

Yarn多租户资源隔离配置

Yarn集群资源设置为A,B两个队列,

A队列设置占用资源70%主要用来运行常规的定时任务,

B队列设置占用资源30%主要运行临时任务,

两个队列间可相互资源共享,假如A队列资源占满,B队列资源比较充裕,A队列可以使用B队列的 资源,使总体做到资源利用最大化.

选择使用Fair Scheduler调度策略!!

配置yarn.xml

yarn.resourcemanager.scheduler.class

org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler

In case you do not want to use the default scheduler

在Hadoop安装目录的/etc/hadoop创建fair-scheduler.xml文件

fair

*

*

9216 mb,4 vcores

100

1024 mb,1vcores

1000

fair

7

*

*

4096 mb,4vcores

5

1024 mb, 1vcores

1000

fair

3

NameNode 如何支撑高并发访问

分段锁

双缓冲机制

NameNode 如何支撑高并发访问

在Hadoop安装目录的/etc/hadoop创建fair-scheduler.xml文件

hadoop tyarn冲突_Hadoop之Yarn相关推荐

  1. hadoop tyarn冲突_hadoop集群启动yarn时出现的问题和解决方法

    1.问题 使用start-all.sh 启动hdfs和yarn集群 ,启动后发现resourcemanager没启动,查看日志报错: 2020-06-01 09:42:21,280 INFO org. ...

  2. hadoop tyarn冲突_Doris与Hadoop yarn混合部署遇到的坑

    Doris默认端口 Yarn 默认端口: 如图,端口冲突,在混合部署的情况下,会出现2个问题: 1. Yarn ResourceManager启动不起来 解决办法:修改yarn.resourceman ...

  3. 3台机器配置hadoop集群_Hadoop学习之路(三)Hadoop集群搭建和简单应用

    概念了解 主从结构:在一个集群中,会有部分节点充当主服务器的角色,其他服务器都是从服务器的角色,当前这种架构模式叫做主从结构. 主从结构分类: 1.一主多从 2.多主多从 Hadoop中的HDFS和Y ...

  4. Hadoop性能调优、YARN的内存和CPU配置

    转 Hadoop性能调优.YARN的内存和CPU配置 2018年06月12日 21:01:54 toto1297488504 阅读数:2417 转: https://blog.csdn.net/deh ...

  5. Apache Hadoop 2.9.2 的YARN High Available 模式部署

    Apache Hadoop 2.9.2 的YARN High Available 模式部署 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.环境准备 1>.官方文档(htt ...

  6. hadoop slaves文件_hadoop:分布式集群参数master节点的配置!

    之前的文章中我们已经将master节点的网络IP.hostname文件.hosts文件配置完成,接下来还有hadoop相关配置文件需要修改.今天我们来讲master节点hadoop的配置. 1.hdf ...

  7. hadoop 开启防火墙_Hadoop部署一Hadoop安装

    哈喽,同学们好,继上篇文章<Hadoop部署一jdk与MySQL>,我们安装好了jdk以及MySQL.我们现在开始安装部署Hadoop,开启Hadoop之旅. 一.下载Hadoop安装包 ...

  8. cdh搭建hadoop集群_Hadoop宿醉:使用Apache Whirr启动hadoop集群CDH4

    cdh搭建hadoop集群 这篇文章是关于如何在EC2实例上启动CDH4 MRv1或CDH4 Yarn集群的. 据说您可以在Whirr的帮助下在5分钟内启动一个集群! 当且仅当一切工作正常时,这才是正 ...

  9. Apache Hadoop下一代MapReduce框架(YARN)简介 (Apache Hadoop NextGen MapReduce (YARN))

    英文看着头大,先试着翻译一下. E文原文:http://archive.cloudera.com/cdh5/cdh/5/hadoop/hadoop-yarn/hadoop-yarn-site/YARN ...

最新文章

  1. WCF .net Tcp 错误异常
  2. python五十九: slots属性
  3. 通过/proc/PID/status查看进程内存占用情况
  4. larvel php restful_Laravel教你简单写出专业的RestfulAPI
  5. java 枚举类型 构造函数及用法
  6. python中的创建对象
  7. 人工智障学习笔记——梯度下降(2)优化算法
  8. hashmap头插法和尾插法区别_Java程序员必知:HashMap进行put操作会不会引起死循
  9. 头条账号权重被降低后会导致点赞推荐兑换率会下降
  10. android客户端设置,android客户端设置界面开发实例
  11. 0918类对象重载,作业5
  12. 我的世界光影mod怎么用_《我的世界》RTX beta 版视频体验:仿佛打破了次元壁
  13. 软件测试自学指南---从入门到精通V1.0
  14. MSB/LSB(big endian/little endian)
  15. Java 给PDF文件添加水印
  16. 数据库系统期末总结(三)(往届试卷2018年12月A卷、B卷、E卷,2019年5月A卷,选择题终篇)
  17. 华为云mysql qb文件恢复到本地-参考华为云官方文档
  18. iOS 发布证书申请 (转载)
  19. ITK (1)窗宽窗位的意义与设置
  20. 自己如何快速制作蓝色背景证件照

热门文章

  1. js jq 一些属性
  2. mysql 实现master-slave 同步
  3. Codeforces Round #114 (Div. 2)
  4. 水星无线网dns服务器是什么,水星路由dns设置教程,-1
  5. linux一直显示探测文件,如何在Linux中检测文件访问?
  6. 信息学奥赛一本通(1206:放苹果)
  7. 信息学奥赛一本通(1075:药房管理)
  8. 传送带(洛谷-P2571)
  9. Median(POJ-3579)
  10. Running(POJ-3661)