Hadoop之Yarn

Yarn

一、理论

1、Yarn基础架构

    1)ResourceManager主要作用:

            ①处理客户端请求

            ②监控NodeManager

            ③启动或监控ApplicationMaster

            ④资源的分配与调度

    2)NodeManager主要作用:

            ①管理单个节点上的资源

            ②处理来自ResourceManager的命令

            ③处理来自ApplicationMaster的命令

    3)ApplicationMaster作用:

            ①为应用程序申请资源并分配给内部的任务

            ②任务的监控与容错

    4)Container

            Container是YARN中的资源抽象,它封装了某个节点上的多维度资源,如内存、cpu、磁盘、网络等

2、Yarn的工作机制

3、Mapreduce/HDFS/Yarn作业提交流程

插图

插图

4、调度器和调度算法

    FIFO:单队列,按照到达时间排序,先到先服务

    容量调度器:

        多队列:每个队列可配置一定的资源量,每个队列采用FIFO调度策略

        容量保证:管理员可为每个队列设置资源最低保证和资源使用上限

        灵活性:如果一个队列中的资源有剩余,可以暂时共享给那些需要资源的队列,而一旦该队列有新的应用程序提交,则

                其他队列借调的资源会归还给该队列

        多租户:

                支持多用户共享集群和多应用程序同时运行

                为了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定

        1)队列资源分配

            从root开始,使用深度有限算法,优先选择资源占用率最低的队列分配资源

        2)作业资源分配

            默认按照提交作业的优先级和提交时间顺序分配资源

        3)容器资源分配

            按照容器的优先级分配资源;

            如果优先级相同 按照数据本地性原则:

            ①任务和数据在同一节点

            ②任务和数据在同一机架

            ③任务和数据不在同一节点也不在同一机架

    公平调度器:

        同队列所有任务共享资源,在时间尺度上获得公平的资源

        与容量调度器相同点:

        ①多队列:支持多队列多作业

        ②灵活性:如果一个队列中的资源有剩余,可以暂时共享给那些需要资源的队列,而一旦该队列有新的应用程序提交,则其他队列借调的资源会归还给该队列

        ③容量保证:管理员可为每个队列设置资源最低保证和资源使用上限

        ④多租户:

                支持多用户共享集群和多应用程序同时运行

                为了防止同一个用户的作业独占队列中的资源,该调度器会对同一用户提交的作业所占资源量进行限定

        与容量调度器不同点:

        (1)核心调度策略不同

                容量调度器:优先选择资源利用率低的队列

                公平调度器:优先选择对资源的缺额比例大的

        (2)每个队列可以单独设置资源分配方式:

                容量调度器:FIFO、DRF

                公平调度器:FIFO、FAIR、DRF

5、yarn在生产环境下需要配置哪些参数

6、命令行操作Yarn

yarn appllication -list   查看正在运行的任务

yarn application -list -appStates FINISHED   查看已经运行成功的任务

kill掉Application

yarn application -kill +名称

yarn logs -applicationId +名称  查看日志

yarn logs -applicationId<ApplicationId> -containerId<ContainerId>   查看某一个容器

打印ApplicationAttemp状态:yarn applicationattempt -status <ApplicationAttemptId>

yarn container -list <ApplicationAttemptId>查看容器

yarn node -list -all  查看node状态

yarn rmadmin -refreshQueues 更新配置

yarn queue  -status <QueueName>  查看队列

二、怎么玩?

1、生产环境下参数怎么配置

插图

2、容量调度器在生产环境配置

配置YARN-SITE

capacity-scheduler

3、公平调度器在生产环境配置

yarn-site

fair-scheduler

4、Yarn的tool接口

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值