04hadoop的Yarn

04Hadoop的Yarn

作用

任务的调度和资源的管理

主从架构

主节点:ResourceManager
作用:负责接收客户端任务的请求和资源的管理,MapReduce程序在运行任何一个任务的时候都需要资源,在运行MapReduce任务的时候需要CPU、内存等资源都会跟ResourceManager申请,当MapReduce程序要运行一个任务时会向ResourceManager发送运行任务的请求,ResourceManager会给分配一个任务管理器对任务进行管理和执行,在任务管理器管理执行的过程中需要资源了任务管理器会向ResourceManager申请资源;
从节点:NodeManager
作用:负责任务的运行以及运行过程的监控,监控任务运行是否成功等,MapReduce只是一个计算模型,MapReduce运行时会启动一个任务进程,这个任务是运行在NodeManager节点上的,NodeManager监控这个任务是不是运行成功(包括有没有启动成功,运行中是否出错等等)

MapReduce程序在yarn上执行的流程图

MapReduce程序在yarn上执行的流程图

MapReduce程序在yarn上运行的流程

    1.一般我们会将业务代码封装到MapReduce程序中,然后将MapReduce程序打成jar包,打包成jar包后客户端会向resourceManager提交运行job(即jar包)程序的请求,resourceManager中的applicationsManager会接收这个请求;       2. applicationsManager会随机选择一个NodeManager机器并启动该机器上的Application Master的进程作为resourceManager的代理人
        1.为什么会有Application Master这个代理人:
            由于resourceManager负责处理多个客户端的请求,不能所有的事都让resourcemanager去管理,因此resourcemanager会选择一个代理人去负责这个job的运行及监控而resourcemanager只需要管理Application Master即可(实质上是resourcemanager中的applicationsManager负责管理applications Master);
    3. Application Master(代理人)向applicationsManager汇报启动情况(比如Application Master已经启动成功了)并请求分配运行job需要的资源;
    4. applicationsManager调度resourceManager中的Resource Scheduler组件,applicationsManager向Resource Scheduler申请Application Master运行job需要的资源,Resource Scheduler将Application Master需要的cpu、内存、磁盘等资源封装成container发送给application Master;
        1.Resource Scheduler
            作用:负责管理集群中所有机器的CPU、内存、磁盘等资源
        2. container
            作用:封装了cpu、内存、磁盘等资源
    5. application Master向所有的nodemanager发送启动task进程的请求并将task需要的资源告诉nodemanager,nodemanager会从自身机器上去取资源;
    6. NodeManager启动task进程(首先运行的maptask然后在运行reducetask)并向maptask任务和reducetask任务传递各自需要的资源;
    7. 所有的nodemanager执行完之后会将执行结果返回给Application Master(代理人)  
        1.Application Master负责整个job的执行,监控所有的task,如果有的nodemanager干死了,Application Master会将当前nodemanager执行的任务发送给其他nodemanager;
    8. Application Master将总的结果返回给applicationsManager(由于applicationsManager属于resourcemanager,即Application Master将总的结果返回给resourcemanager),resourcemanager将执行结果返回给客户端。
    9. 注意:在NodeManager和ResourceManager之间存在一种通信机制--心跳机制(一般在主从架构中都存在这种机制),这种心跳机制的作用就是NodeManager向ResourceManager汇报当前NodeManager的状态信息,通过这些信息ResourceManager可以判断当前NodeManager是否还存活着。

Yarn服务中组件的功能

Resourcemanager
1.处理客户端请求
2.启动/监控进程(即application Master进程)实质是Resourcemanager中的application Manager监控application Master
3.管理nodemanager
    在NodeManager和ResourceManager之间存在一种通信机制--心跳机制(一般在主从架构中都存在这种机制),这种心跳机制的作用就是NodeManager向ResourceManager汇报当前NodeManager的状态信息,通过这些信息ResourceManager可以判断当前NodeManager是否还存活着。
4.资源分配与调度
ApplicationMaster
1.数据切分
    启动一个applicationMaster之后首先启动MapReduce程序input的过程将要mapreduce要处理的文件读取进来,数据读取进来后applicationMaster会将数据进行切分,因为有多个map task所以需要将数据进行切分分给不同的map task去执行;
2.为应用申请资源,并分配给内部任务;
3.任务监控与容错
    监控对应的job中的map task和reduce task,,applicationManager监控所有的applicationMaster
Resource Scheduler
1.管理集群中所有机器的资源
2.指定applicationMaster管理的每台nodemanager运行task任务所需的资源指标,这个资源指标会封装到Container中发送给applicationMaster,applicationMaster向所有的nodemanager发送运行task任务请求时会将Container发送给每个nodemanager然后nodemanager会将Container发送给每个task任务,task任务会根据此指标从自身所在的机器中获取相应的资源,因为每台nodemanager机器运行多个task任务,nodemanager不可能将自身所有的资源都分配给某个task任务,因此需要Resource Scheduler对集群中所有的资源进行调度管理;
3.Resource Scheduler给applicationMaster分配资源时配置的有一个默认值,此值可以修改
NodeManager
1.单个节点上的资源管理
2.处理来自applicationManager的命令
3.处理来自applicationMaster的命令
Container
对任务运行环境的抽象,封装了cpu、内存等多维资源以及环境变量、启动命令等任务运行相关的信息

历史服务和日志文件

历史服务进程:historyserver
1.作用:
    1.用于管理以前运行过的mapreduce程序;
    2.在historyserver中可以查看到程序运行过程中所有的配置项以及map task和reduce task相关的信息;
2.配置mapred-site.xml
    1.mapreduce.jobhistory.address:内部通信端口程序运行后需要jobhistory管理所以需要其内部能过进行通信;  主机名:10020
    2.mapreduce.jobhistory.webapp.address:web端访问的端口
        主机名:19888
3.重启集群服务
4.启动jobhistory服务:
    sbin/mr-jobhistory-daemon.sh start historyserver
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
数字乡村和智慧农业的数字化转型是当前农业发展的新趋势,旨在通过应用数字技术,实现农业全流程的再造和全生命周期的管理服务。中国政府高度重视这一领域的发展,提出“数字中国”和“乡村振兴”战略,以提升国家治理能力,推动城乡融合发展。 数字乡村的建设面临乡村治理、基础设施、产业链条和公共服务等方面的问题,需要分阶段实施《数字乡村发展战略纲要》来解决。农业数字化转型的需求包括满足市民对优质农产品的需求、解决产销对接问题、形成优质优价机制、提高农业劳动力素质、打破信息孤岛、提高农业政策服务的精准度和有效性,以及解决农业融资难的问题。 数字乡村建设的关键在于构建“1+3+4+1”工程,即以新技术、新要素、新商业、新农民、新文化、新农村为核心,推进数据融合,强化农业大数据的汇集功能。数字农业大数据解决方案以农业数字底图和数据资源为基础,通过可视化监管,实现区域农业的全面数字化管理。 数字农业大数据架构基于大数据、区块链、GIS和物联网技术,构建农业大数据中心、农业物联网平台和农村综合服务指挥决策平台三大基础平台。农业大数据中心汇聚各类涉农信息资源和业务数据,支持大数据应用。信息采集系统覆盖市、县、乡、村多级,形成高效的农业大数据信息采集体系。 农业物联网平台包括环境监测系统、视频监控系统、预警预报系统和智能控制系统,通过收集和监测数据,实现对农业环境和生产过程的智能化管理。综合服务指挥决策平台利用数据分析和GIS技术,为农业决策提供支持。 数字乡村建设包括三大服务平台:治理服务平台、民生服务平台和产业服务平台。治理服务平台通过大数据和AI技术,实现乡村治理的数字化;民生服务平台利用互联网技术,提供各类民生服务;产业服务平台融合政企关系,支持农业产业发展。 数字乡村的应用场景广泛,包括农业生产过程、农产品流通、农业管理和农村社会服务。农业生产管理系统利用AIoT技术,实现农业生产的标准化和智能化。农产品智慧流通管理系统和溯源管理系统提高流通效率和产品追溯能力。智慧农业管理通过互联网+农业,提升农业管理的科学性和效率。农村社会服务则通过数字化手段,提高农村地区的公共服务水平。 总体而言,数字乡村和智慧农业的建设,不仅能够提升农业生产效率和管理水平,还能够促进农村地区的社会经济发展,实现城乡融合发展,是推动中国农业现代化的重要途径。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值