当前位置: 首页 > news >正文

服务流程企业网站百度健康人工客服电话24小时

服务流程企业网站,百度健康人工客服电话24小时,食品电子商务网站建设方案,不是做有网站都叫狠狠文章目录 (126)基础架构(127)YARN的工作机制(128)作业全流程参考文献 (126)基础架构 之前基本介绍完了Hadoop的几个核心组件,接下来可以思考下,在MR程序运行…

文章目录

  • (126)基础架构
  • (127)YARN的工作机制
  • (128)作业全流程
  • 参考文献

(126)基础架构

之前基本介绍完了Hadoop的几个核心组件,接下来可以思考下,在MR程序运行过程中,整个集群的资源是如何管理的,以及每个任务该分配多少资源才合适?

这就是YARN需要考虑的问题。

YARN是一个资源调度平台,负责为各个任务提供运行资源。可以简单理解成YARN是windows系统,而MR等程序就是运行在这个操作系统之上的应用进程。

YARN中的组件,包括ResourceManagerNodeManagerContainerApplicationMaster等。

关于YARN的运行流程,我们之前在"概念"一节里也有简单介绍了。

如图:

在这里插入图片描述

ResourceManager,整个YARN中最重要的组件,老大哥,领导角色,基本每个组件都会跟它做交互,负责:

  • 接收、处理客户端传过来的请求(提交的作业);
  • 监控NodeManager;
  • 启动、监控ApplicationMaster(如果任务挂了,会协调切换到其他节点继续执行);
  • 资源的分配与调度。

按我的理解,RM更多的是做的是整个集群的资源管理,一般不会实际落地去分配资源,具体的落地工作,都是由对应的NodeManager来实现的。

NodeManager,单个节点(一般是指单台服务器)上的老大,负责:

  • 管理自己节点上的资源;
  • 处理来自ResourceManage的命令(比如说RM告诉NM,需要从你的节点上运行个任务,那么NM就需要实际分配资源,来做配合);
  • 处理来自ApplicationMaster的命令(如App Mstr要求申请资源)。

ApplicationMaster,是单个job的老大,负责:

  • 为应用申请资源(向RM提申请),并分配给内部的任务;
  • 对内部的任务,进行监控和容错。

Container,是YARN中对资源的一个抽象概念,它封装了某个节点上的多维度资源,如内存、CPU、磁盘和网络。如果要类比的话,相当于是每个节点上的一台台虚拟机?

(127)YARN的工作机制

即YARN在底层是怎么运行的,是面试中经常会被问到的一类面试题。

图形化展示下步骤:

在这里插入图片描述

  1. Mr程序首先被提交到客户端所在的节点,客户端会启动一个YarnRunner来做对内外的交互;

  2. YarnRunner会向ResourceManager发出请求,申请一个Application,来执行自己的job;

  3. 接着RM确认可以创建Application之后,会把这个Application的id和资源提交路径等返回给客户端,告知其可以将资源提交至这个路径;

  4. 客户端的YarnRunner在接收到反馈后,就开始提交job运行所需的资源到指定路径,重点提交三个文件:

    • job.split:即数据的切片文件,关系到后续的切片流程以及MapTask数量;
    • job.xml:即任务执行的参数配置等
    • xx.jar:即任务本身的程序代码

    这些都会在job.submit()之后生成;

  5. 资源提交完毕后,客户端向RM提出申请,申请运行对应的ApplicationMaster;

  6. RM接收到申请,然后将申请初始化成一个Task,放进自己的调度队列里,如FIFO调度队列;

  7. 当一个Task可以被调度时(即资源允许),RM会根据情况,选择一个NodeManager,将Task分配给它;

  8. NM收到任务,会在自己内部创建一个Container,分配好资源,来执行这个Task。接着,Container内部会再启动一个MrAppMaster,来管理整个任务,或者说整个job的运行。

  9. MrAppMaster会去当前job的资源路径,去读取切片信息,即job.split,下载到节点本地;

  10. 拿到切片后,MrAppMaster会再向RM申请,申请资源来运行MapTask。RM会将申请先放进队列,等调度到的时候,就会去挑选并通知对应的NodeManager们,准备分配资源来做MapTask;

  11. 对应的NodeManager接收到通知,然后在自己内部创建好对应的Container;

  12. MrAppMaster直接发送程序的启动脚本给刚创建好的Container们,让它们启动MapTask,开始正式运行代码,这个过程里,每个MapTask会生成一个YarnChild,负责对外的交流;待MapTask执行完,数据会按照分区持久化到磁盘;

  13. 待MapTask执行完后,MrAppMaster会再向RM申请几个Container,来运行ReduceTask。流程跟刚才介绍的MapTask启动基本一致,开启Container、启动ReduceTask、启动YarnChild等;

  14. ReduceTask启动后,会向MapTask里去获取对应分区的数据;

  15. ReduceTask执行完后,标志着整个MR基本运行完成,MrAppMaster会向RM提出申请,任务完成,请求注销掉自己,并回收资源等;

  16. RM接收申请,并开始收尾工作。

(128)作业全流程

主要讲解下,HDFS、YARN、MapReduce三者的关系。

HDFS里有DataNode、NameNode和SecondaryNameNode,其中DataNode用来存储,NameNode则是用来管理DataNode的,比如说记录DataNode的一些元数据等。至于SecondNameNode,是辅助NameNode工作的。

然后YARN的话,是有一个ResourceManage,负责管理全局的资源,一至多个NodeManager用来管理单节点的资源。

教程里没有详细展开说,我只做个简单总结吧。

还是以上一节YARN的工作流程为例,那里清晰展示了YARN跟MapReduce的交互,至于HDFS在哪儿起作用,其实也好理解,HDFS就可以简单理解成磁盘。

比如说第3步里,client需要提交资源至指定的路径,其实就是提交到HDFS的路径下。另外,每个MapTask启动之后要去资源路径拿数据,其实也是跟HDFS的DataNode交互的过程。

参考文献

  1. 【尚硅谷大数据Hadoop教程,hadoop3.x搭建到集群调优,百万播放】
http://www.yidumall.com/news/56504.html

相关文章:

  • 国内优秀公司网站高粱seo博客
  • 政府门户网站的功能网站新域名查询
  • 网络营销策划书2500惠州抖音seo策划
  • 做彩票平台网站吗商业网站
  • 制作个人网站教程seo快速排名软件平台
  • 自媒体网站建设推广软文范文
  • 徐州网站设计重庆百度快速优化
  • 苏州沧浪区做网站优化大师下载
  • 互联网公司排名1000福州seo公司
  • 怎样做响应式网站seo值是什么意思
  • 如何看出网站是用wordpress搭建怎么接广告赚钱
  • 银川网站建设哪家优质文员短期电脑培训
  • 做网站的话术市场营销比较好写的论文题目
  • 如何用网站做淘宝客中国疫情最新数据
  • 大庆网站建设公司哪家好网站推广教程
  • dedecms 做的医院网站2022年十大网络流行语发布
  • 做婚庆的网站对网站的建议和优化
  • 网站开发原型 图公司域名注册查询
  • 网站建设团队管理怎么写app推广方案
  • 用hadoop做网站日志分析扫描图片找原图
  • 上海最好的网站建设公司网站权重排名
  • 玉树州公司网站建设域名收录
  • 电商网站制作方案seo公司seo教程
  • 手表网站哪个最好知乎宁波网络推广软件
  • 怎么做外汇返佣的网站怎样自己制作网站
  • dw cs6asp.net网站建设网络营销分析报告
  • 网站的建设思路天津疫情最新消息
  • 创办一个网站需要多少资金短视频运营
  • 建立一个网站需要哪些步骤优化大师tv版
  • 青岛网站搜索排名品牌营销策略