首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >EMR入门学习之YARN的基本操作(十五)

EMR入门学习之YARN的基本操作(十五)

原创
作者头像
披荆斩棘
发布2019-11-22 19:20:36
1.8K0
发布2019-11-22 19:20:36
举报
文章被收录于专栏:乘风破浪乘风破浪乘风破浪

前言

Apache Hadoop YARN 是开源 Hadoop 分布式处理框架中的资源管理和作业调度技术。作为 Apache Hadoop 的核心组件之一,YARN 负责将系统资源分配给在 Hadoop 集群中运行的各种应用程序,并调度要在不同集群节点上执行的任务。

一、YARN CapacityScheduler调度器

简介

CapacityScheduler允许多租户安全地共享大型集群,以便在分配的容量限制下及时为其应用程序分配资源,同时最大化吞吐量和群集的利用率。

操作步骤

可到EMR控制台->左侧的【组件管理】找到yarn进行配置,在yarn的配置文件yarn-site.xml中开启Fair Scheduler。如下图1:

队列基本配置

CapacityScheduler的配置文件位于hadoop目录下的etc/hadoop/capacity-scheduler.xml。CapacityScheduler有一个名为root的预定义队列。系统中的所有队列都是root队列的子节点。

可以通过在yarn.scheduler.capacity.root.queues配置中,使用逗号分隔的子队列列表来设置更多队列。

下面是一个示例,其中包含三个顶级子队列a,b和c以及a和b的一些子队列:

二、yarn的WebUI使用

我们通过EMR控制台,左侧的【组件管理】进入Yarn的Web UI界面:

Application Queues参数说明

  • Queue State:队列状态
  • Used Capacity:该队列已使用的资源占该队列的百分比
  • Absolute Used Capacity:该队列已使用资源占root队列的百分比
  • Absolute Capacity:该队列默认分配的资源占root队列的百分比
  • Absolute Max Capacity:该队列分配的资源最大可占父队列的百分比
  • Used Resource:该队列使用的资源数量
  • Num Schedulable Applications:该队列正在调度的应用数
  • Num Non-Schedulable Applications:该队列没有在调度的应用数
  • Num Containers:该队列已启动的容器数量
  • Max Applications:最大可运行的应用数量(yarn.scheduler.capacity.maximum-applications * Absolute Capacity)
  • Max Applications Per User:单个用户最大可运行的应用数量
  • Max Schedulable Applications:集群最大可调度应用数量,取决于内存总量、应用最小内存分配、AM可用资源占比
  • Max Schedulable Applications Per User:单个用户最大可调度应用数量。(Max Schedulable Applications * 该队列capacity占比 * 单用户可使用队列资源占比)
  • Configured Capacity:该队列默认分配的资源占父队列的百分比
  • Configured Max Capacity:该队列默认最大占父队列资源的百分比
  • Configured Mininum User Limit Percent:单个用户最少可使用队列资源的百分比,最大值与用户数有关
  • Configured User Limit Factor:每个User最多可以使用几个其他队列的资源

三、yarn操作的常用命令

背景

需要查看提交到yarn的应用作业情况

命令介绍

yarn application [options]

参数

说明

-list

打印RM上所有的应用信息。如果需要过滤出某个状态的应用,可以使用-appStates;使用-appTypes则可以过滤某个类型的应用

-appStates  <States>

打印RM上符合states的应用信息。 States 的取值范围为:ALL, NEW, NEW_SAVING, SUBMITTED, ACCEPTED, RUNNING, FINISHED, FAILED, KILLED

-appTypes  <Types>

打印RM上符合Types的应用信息。

-status  <ApplicationId>

查看应用ID对应的应用情况

杀掉某个进程

yarn application -kill <ApplicationId>

说明:<ApplicationId> 可用 -list 查看到,或者登陆YARN快捷访问URL查看。

提交运行YARN应用

提交运行一个YARN的应用jar包。用户可以将写好的YARN代码打包成jar文件,用这个命令去运行它

yarn jar <jar> [mainClass] args...

参数

说明

<jar>

对应的jar包

mainClass

jar包mian函数入口的class类名

args...

运行需要传入的参数

查看应用的日志

命令介绍

yarn logs -applicationId <application ID> [options]

参数

说明

-applicationId  <application ID>

指定应用程序ID,可用 -list 查看到,或者登陆YARN快捷访问URL查看。

-appOwner  <AppOwner>

应用的所有者(如果没有指定就是当前用户)应用程序的ID可以在yarn.resourcemanager.webapp.address配置的路径查看(即:User)

-containerId  <ContainerId>

containerId, 如果指定了containerId,则必须连nodeAddress一起指定

-nodeAddress  <NodeAddress>

节点地址的格式:nodename:port, 如果指定了nodeAddress,则必须连containerId一起指定

查看node信息

命令介绍

yarn node [options]

参数

说明

-all

所有的节点,不管是什么状态的。

-list

列出所有RUNNING状态的节点。支持-states选项过滤指定的状态,节点的状态包 含:NEW,RUNNING,UNHEALTHY,DECOMMISSIONED,LOST,REBOOTED。支持--all显示所有的节点。

-states  <States>

和-list配合使用,用逗号分隔节点状态,只显示这些状态的节点信息。

-status  <NodeId>

打印指定节点的状态。

查看YARN container信息

命令介绍

yarn container [options]

参数

说明

-list  <Application Attempt Id>

应用程序尝试的Containers列表

-status  <ContainerId>

打印Container的状态

查看YARN版本

yarn version

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 前言
  • 一、YARN CapacityScheduler调度器
    • 简介
      • 操作步骤
        • 队列基本配置
        • 二、yarn的WebUI使用
          • Application Queues参数说明
          • 三、yarn操作的常用命令
            • 背景
              • 命令介绍
                • 杀掉某个进程
                  • 提交运行YARN应用
                    • 查看应用的日志
                      • 命令介绍
                        • 查看node信息
                          • 命令介绍
                            • 查看YARN container信息
                              • 命令介绍
                                • 查看YARN版本
                                相关产品与服务
                                弹性 MapReduce
                                弹性 MapReduce (EMR) 是基于云原生技术和泛 Hadoop 生态开源技术的安全、低成本、高可靠的开源大数据平台。提供易于部署及管理的 Hive、Spark、HBase、Flink、StarRocks、Iceberg、Alluxio 等开源大数据组件,帮助客户高效构建云端企业级数据湖技术架构。
                                领券
                                问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档