YARN 客户端命令

本文详细介绍了YARN(Yet Another Resource Negotiator)中的用户命令和管理员命令,包括application、app、applicationattempt、classpath、container等用户命令,以及daemonlog、nodemanager、proxyserver等管理员命令。同时,文章还解释了如何使用这些命令进行资源管理和应用程序控制。
摘要由CSDN通过智能技术生成

Table of Contents

概述

用户命令

application or app

applicationattempt

classpath

container

jar

logs

node

queue

version

envvars

管理员命令s

daemonlog

nodemanager

proxyserver

resourcemanager

rmadmin

schedulerconf

scmadmin

sharedcachemanager

timelineserver

registrydns

Files


概述

yarn 命令由 bin/yarn 脚本调用。运行不带任何参数的 yarn 脚本将打印所有命令的描述。

Usage: yarn [SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [SUB_COMMAND] [COMMAND_OPTIONS]

yarn 有一个选项解析框架,它使用解析泛型选项和运行类。

COMMAND_OPTIONSDescription
SHELL_OPTIONS一组常见的shell选项。这些都记录在命令手册页上。
GENERIC_OPTIONS多个命令支持的常见选项集。有关更多信息,请参阅Hadoop命令手册。
COMMAND COMMAND_OPTIONS下面几节将介绍各种命令及其选项。命令被分组为用户命令和管理命令。

用户命令

对 Hadoop 集群的用户有用的命令。

application or app

用法:yarn application [options] Usage: yarn app [options]

COMMAND_OPTIONSDescription
-appId <ApplicationId>指定要操作的应用程序 Id
-appStates <States>使用 -list 根据输入逗号分隔的应用程序状态列表过滤应用程序。有效的应用程序状态可以是以下状态之一:ALL、NEW、NEW_SAVING、submit、accept、RUNNING、FINISHED、FAILED、KILLED
-appTags <Tags>与 -list 一起工作过滤基于输入逗号分隔的应用程序标签列表的应用程序。
-appTypes <Types>使用 -list 根据输入逗号分隔的应用程序类型列表过滤应用程序。
-changeQueue <Queue Name>将应用程序移动到一个新队列。可以使用 “appId” 选项传递 ApplicationId。' movetoqueue '命令不赞成使用,这个新命令' changeQueue '执行相同的功能。
-component <Component Name> <Count>与 -flex 选项一起工作,以改变组件/容器的数量运行的应用程序/长期运行的服务。支持绝对或相对更改,如+1、2或-3。
-components <Components>使用 -upgrade 选项触发应用程序指定组件的升级。多个组件之间应该用逗号分隔。
-decommission <Application Name>为应用程序/长时间运行的服务退役组件实例。需要实例的选择。支持 -appTypes 选项指定要使用的客户端实现。
-destroy <Application Name>销毁已保存的应用程序规范并永久删除所有应用程序数据。支持 -appTypes 选项指定要使用的客户端实现。
-enableFastLaunch上传对 HDFS 的依赖,使未来的启动更快。支持 -appTypes 选项指定要使用的客户端实现。
-flex <Application Name or ID>更改应用程序/长时间运行的服务的组件的运行容器的数量。需要分的选择。如果提供了名称,则必须提供 appType,除非它是默认的 yarn-service。如果提供了 ID,将查找 appType。支持 -appTypes 选项指定要使用的客户端实现。
-help显示所有命令的帮助。
-instances <Component Instances>使用 -upgrade 选项触发应用程序指定组件实例的升级。还可以使用 -decommission 选项来退役指定的组件实例。多个实例之间应该用逗号分隔。
-kill <Application ID>杀死该应用程序。可以提供与空间分隔的应用程序集
-launch <Application Name> <File Name>从规范文件启动应用程序(保存规范并启动应用程序)。可以指定选项 -updateLifetime 和 -changeQueue 来更改文件中提供的值。支持 -appTypes 选项指定要使用的客户端实现。
-list应用程序列表。支持可选使用 - apptype 来过滤基于应用程序类型的应用程序,- appstate 来过滤基于应用程序状态的应用程序,-appTags 来过滤基于应用程序标签的应用程序。
-movetoqueue <Application ID>将应用程序移动到另一个队列。弃用的命令。使用“changeQueue”代替。
-queue <Queue Name>使用 movetoqueue 命令指定要将应用程序移动到哪个队列。
-save <Application Name> <File Name>保存应用程序的规范文件。可以指定选项 -updateLifetime 和 -changeQueue 来更改文件中提供的值。支持 -appTypes 选项指定要使用的客户端实现。
-start <Application Name>启动先前保存的应用程序。支持 -appTypes 选项指定要使用的客户端实现。
-status <ApplicationId or ApplicationName>打印应用程序的状态。如果提供了app ID,则打印通用 yarn 应用状态。如果提供了名称,它将根据应用程序自己的实现打印应用程序特定的状态,并且必须指定 -appTypes 选项,除非它是默认的 yarn-service 类型。
-stop <Application Name or ID>优雅地停止应用程序(可能稍后再次启动)。如果提供了名称,则必须提供 appType,除非它是默认的 yarn-service。如果提供了ID,将查找 appType。支持 -appTypes 选项指定要使用的客户端实现。
-updateLifetime <Timeout>从现在开始更新应用程序的超时。可以使用“appId”选项传递 ApplicationId。超时值的单位是秒。
-updatePriority <Priority>应用程序的更新优先级。可以使用“appId”选项传递 ApplicationId。

打印应用程序报告/杀死应用程序/管理长时间运行的应用程序

applicationattempt

用法: yarn applicationattempt [options]

COMMAND_OPTIONSDescription
-helpHelp
-list <ApplicationId>列出给定应用程序的应用程序尝试。
-status <Application Attempt Id>打印应用程序尝试的状态。

prints applicationattempt(s) report

classpath

用法: yarn classpath [--glob |--jar <path> |-h |--help]

COMMAND_OPTIONDescription
--glob扩大通配符
--jar path在 jar 命名路径中编写类路径作为清单
-h, --helpprint help

Prints the class path needed to get the Hadoop jar and the required libraries. If called without arguments, then prints the classpath set up by the command scripts, which is likely to contain wildcards in the classpath entries. Additional options print the classpath after wildcard expansion or write the classpath into the manifest of a jar file. The latter is useful in environments where wildcards cannot be used and the expanded classpath exceeds the maximum supported command line length.

container

用法: yarn container [options]

COMMAND_OPTIONSDescription
-helpHelp
-list <Application Attempt Id>列出应用程序尝试的容器。
-status <ContainerId>打印容器的状态。

prints container(s) report

jar

用法: yarn jar <jar> [mainClass] args...

运行一个jar文件。用户可以将他们的 yarn 代码捆绑在一个 jar 文件中,并使用这个命令执行它。

logs

用法: yarn logs -applicationId <application ID> [options]

COMMAND_OPTIONSDescription
-applicationId <application ID>指定一个应用程序 id
-appOwner <AppOwner>拥有人(如果未指定,假定为当前用户)
-containerId <ContainerId>

ContainerId(如果指定了节点地址,则必须指定)

-helpHelp
-nodeAddress <NodeAddress>NodeAddress 格式为 nodename:port(如果指定了容器id,必须指定)

转储容器日志

node

用法: yarn node [options]

COMMAND_OPTIONSDescription
-all使用-list列出所有节点。
-list列出所有正在运行的节点。支持可选地使用 -states 根据节点状态筛选节点,使用 -all 列出所有节点。
-states <States>使用 -list 根据输入逗号分隔的节点状态列表过滤节点。
-status <NodeId>打印节点的状态报告。

打印 node report(s)

queue

用法: yarn queue [options]

COMMAND_OPTIONSDescription
-helpHelp
-status <QueueName>打印队列的状态。

打印 queue information

version

用法: yarn version

打印 Hadoop version.

envvars

用法: yarn envvars

显示计算的 Hadoop 环境变量。

管理员命令s

对 Hadoop 集群的管理员有用的命令。

daemonlog

动态地获取/设置守护进程中由限定类名标识的日志的日志级别。

nodemanager

用法: yarn nodemanager

启动 NodeManager

proxyserver

用法: yarn proxyserver

启动 web proxy server

resourcemanager

用法: yarn resourcemanager [-format-state-store]

COMMAND_OPTIONSDescription
-format-state-storeFormats the RMStateStore. This will clear the RMStateStore and is useful if past applications are no longer needed. This should be run only when the ResourceManager is not running.
-remove-application-from-state-store <appId>Remove the application from RMStateStore. This should be run only when the ResourceManager is not running.

启动 ResourceManager

rmadmin

用法:

  Usage: yarn rmadmin
     -refreshQueues
     -refreshNodes [-g|graceful [timeout in seconds] -client|server]
     -refreshNodesResources
     -refreshSuperUserGroupsConfiguration
     -refreshUserToGroupsMappings
     -refreshAdminAcls
     -refreshServiceAcl
     -getGroups [username]
     -addToClusterNodeLabels <"label1(exclusive=true),label2(exclusive=false),label3">
     -removeFromClusterNodeLabels <label1,label2,label3> (label splitted by ",")
     -replaceLabelsOnNode <"node1[:port]=label1,label2 node2[:port]=label1,label2"> [-failOnUnknownNodes]
     -directlyAccessNodeLabelStore
     -refreshClusterMaxPriority
     -updateNodeResource [NodeID] [MemSize] [vCores] ([OvercommitTimeout]) or -updateNodeResource [NodeID] [ResourceTypes] ([OvercommitTimeout])
     -transitionToActive [--forceactive] <serviceId>
     -transitionToStandby <serviceId>
     -failover [--forcefence] [--forceactive] <serviceId> <serviceId>
     -getServiceState <serviceId>
     -getAllServiceState
     -checkHealth <serviceId>
     -help [cmd]
COMMAND_OPTIONSDescription
-refreshQueues重新加载队列的 acl、状态和调度器特定属性。ResourceManager 将重新加载映射队列配置文件。
-refreshNodes [-g|graceful [timeout in seconds] -client|server]刷新 ResourceManager 上的主机信息。这里 [-g|graceful [timeout in seconds] -client|server] 是可选的,如果我们指定超时,那么 ResourceManager 将等待超时,然后将 NodeManager 标记为退役。-client|server 指示超时跟踪是否应该由客户端或ResourceManager 处理。客户端跟踪阻塞,而服务器端跟踪没有阻塞。忽略超时(或超时为-1)表示无限超时。已知问题:如果发生RM HA故障转移,服务器端跟踪将立即停止。
-refreshNodesResources在 ResourceManager 中刷新 nodemanager 的资源。
-refreshSuperUserGroupsConfiguration刷新超级用户代理组映射。
-refreshUserToGroupsMappings刷新不适映射。
-refreshAdminAcls刷新 ResourceManager 的管理acl
-refreshServiceAcl重新加载服务级授权策略文件 ResourceManager 将重新加载授权策略文件。
-getGroups [username]获取指定用户所属的组。
-addToClusterNodeLabels <“label1(exclusive=true),label2(exclusive=false),label3”>添加到集群节点标签。默认的排他性是真的。
-removeFromClusterNodeLabels <label1,label2,label3> (label splitted by “,”)从群集节点标签中删除。
-replaceLabelsOnNode <“node1[:port]=label1,label2 node2[:port]=label1,label2”> [-failOnUnknownNodes]替换节点上的标签(请注意,我们现在不支持在一台主机上指定多个标签)-failOnUnknownNodes 是可选的,当我们设置这个选项时,如果指定的节点是未知的,它将失败。
-directlyAccessNodeLabelStore这是不赞成的,将在以后的版本中删除。直接访问节点标签存储,使用此选项,所有与节点标签相关的操作将不会连接 RM。相反,它们将直接访问/修改存储的节点标签。默认情况下,它是 false(通过RM访问)。请注意:如果您配置了 yarn.node- tags .fs-store.root-dir 到一个本地目录(而不是NFS或HDFS),该选项仅在命令在运行 RM 的机器上运行时才有效。
-refreshClusterMaxPriority刷新集群最大优先级
-updateNodeResource [NodeID] [MemSize] [vCores] ([OvercommitTimeout])更新特定节点上的资源。
-updateNodeResource [NodeID] [ResourceTypes] ([OvercommitTimeout])更新特定节点上的资源类型。资源类型是资源管理器上可用的任何资源的逗号分隔键值对。例如 memory-mb=1024Mi,vcores=1,resource1=2G,resource2=4m
-transitionToActive [–forceactive] [–forcemanual] <serviceId>将服务转换为活动状态。如果使用了 -forceactive 选项,尝试使目标处于活动状态,而不检查是否存在活动节点。如果启用了自动故障转移,则不能使用此命令。虽然你可以通过选择性的选择来覆盖它,但是你需要小心。如果启用了自动故障转移,则不能使用此命令。
-transitionToStandby [–forcemanual] <serviceId>将服务转换为备用状态。如果启用了自动故障转移,则不能使用此命令。虽然你可以通过选择性的选择来覆盖它,但是你需要小心。
-failover [–forceactive] <serviceId1> <serviceId2>启动从 serviceId1 到 serviceId2 的故障转移。如果使用了 -forceactive 选项,尝试故障转移到目标服务,即使它还没有准备好。如果启用了自动故障转移,则不能使用此命令。
-getServiceState <serviceId>返回服务的状态。
-getAllServiceState返回所有服务的状态。
-checkHealth <serviceId>请求服务执行运行状况检查。如果检查失败,RMAdmin工具将使用非零退出代码退出。
-help [cmd]Displays help for the given command or all commands if none is specified.

运行 ResourceManager admin client

schedulerconf

用法: yarn schedulerconf [options]

COMMAND_OPTIONSDescription
-add <“queuePath1:key1=val1,key2=val2;queuePath2:key3=val3”>分号分隔要添加的队列的值及其队列配置。此示例添加队列“queuePath1”(完整路径名),它具有队列配置key1=val1和key2=val2。它还添加了队列“queuePath2”,该队列配置为key3=val3。
-remove <“queuePath1;queuePath2”>用分号分隔要删除的队列。这个示例删除了 queuePath1 和 queuePath2 队列(完整路径名)。注意:删除队列之前,必须将其置于停止状态。
-update <“queuePath1:key1=val1,key2=val2;queuePath2:key3=val3”>应该更新其配置的队列的值以分号分隔。本示例为queuePath1(完整路径名)的队列配置设置key1=val1和key2=val2,为queuePath2的队列配置设置key3=val3。
-global <key1=val1,key2=val2>更新调度器全局配置。本示例为调度器的全局配置设置key1=val1和key2=val2。

更新调度程序配置。注意,该特性还处于alpha阶段,可能会发生变化。

scmadmin

用法: yarn scmadmin [options]

COMMAND_OPTIONSDescription
-helpHelp
-runCleanerTask运行清洁器任务

运行 Shared Cache Manager admin client

sharedcachemanager

用法: yarn sharedcachemanager

启动 Shared Cache Manager

timelineserver

用法: yarn timelineserver

启动 TimeLineServer

registrydns

用法: yarn registrydns

启动 RegistryDNS 服务

Files

FileDescription
etc/hadoop/hadoop-env.sh该文件存储所有Hadoop shell命令使用的全局设置。
etc/hadoop/yarn-env.sh此文件存储所有 yarn shell 命令使用的覆盖。
etc/hadoop/hadoop-user-functions.sh这个文件允许高级用户覆盖一些 shell 功能。
~/.hadooprc它存储单个用户的个人环境。它是在 hadoop-env 之后处理的。sh, hadoop-user-functions。和yarn-env.sh文件,并且可以包含相同的设置。functions.sh, and yarn-env.sh files and can contain the same settings.

示例

# YARN 杀死 APP
yarn app -kill appId
# 列出不健康的 nodemanager
yarn node -list -states UNHEALTHY
# 列出丢失心跳的 nodemanager
yarn node -list -all|grep LOST
# 实时查看yan 整体运行情况
yarn top
# 查看哪个 rm 处于 active 的状态
yarn rmadmin -getAllServiceState

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值