YARN命令由bin / yarn脚本调用。在不带任何参数的情况下运行yarn脚本会打印所有命令的描述。
用法:纱线[SHELL_OPTIONS] COMMAND [GENERIC_OPTIONS] [SUB_COMMAND] [COMMAND_OPTIONS]
YARN有一个选项解析框架,该框架使用解析通用选项以及运行类。
COMMAND_OPTIONS | 描述 |
---|---|
SHELL_OPTIONS | 通用的外壳选项集。这些内容记录在“ 命令手册”页面上。 |
GENERIC_OPTIONS | 多个命令支持的一组通用选项。有关更多信息,请参见《 Hadoop 命令手册》。 |
COMMAND COMMAND_OPTIONS | 以下各节介绍了各种命令及其选项。这些命令已分组为“ 用户命令”和“ 管理命令”。 |
对Hadoop集群用户有用的命令。
用法:纱线应用程序[选项]用法:纱线应用程序[选项]
COMMAND_OPTIONS | 描述 |
---|---|
-appId <ApplicationId> | 指定要操作的应用程序ID |
-appStates <状态> | 与-list一起使用,可根据输入的逗号分隔的应用程序状态列表来过滤应用程序。有效的应用程序状态可以是以下之一:ALL,NEW,NEW_SAVING,SUBMITTED,ACCEPTED,RUNNING,FINISHED,FAILED,KILLED |
-appTags <标签> | 与-list一起使用,可根据输入的逗号分隔的应用程序标记列表来过滤应用程序。 |
-appTypes <类型> | 与-list一起使用,可以根据输入的逗号分隔的应用程序类型列表来过滤应用程序。 |
-changeQueue <队列名称> | 将应用程序移到新队列。可以使用'appId'选项传递ApplicationId。不建议使用“ movetoqueue”命令,此新命令“ changeQueue”执行相同的功能。 |
-component <组件名称> <计数> | 与-flex选项一起使用,可以更改为应用程序/长期运行的服务运行的组件/容器的数量。支持绝对或相对更改,例如+1、2或-3。 |
-components <组件> | 与-upgrade选项一起使用可触发应用程序指定组件的升级。多个组件应以逗号分隔。 |
-decommission <应用程序名称> | 停用应用程序/长期运行的服务的组件实例。需要-instances选项。支持-appTypes选项以指定要使用的客户端实现。 |
-destroy <应用程序名称> | 销毁已保存的应用程序规范并永久删除所有应用程序数据。支持-appTypes选项以指定要使用的客户端实现。 |
-enableFastLaunch | 将AM依赖项上载到HDFS,以加快将来的发布速度。支持-appTypes选项以指定要使用的客户端实现。 |
-flex <应用程序名称或ID> | 更改应用程序/长期运行服务组件的运行容器数。需要-component选项。如果提供了名称,则必须提供appType,除非它是默认的yarn-service。如果提供了ID,则将查找appType。支持-appTypes选项以指定要使用的客户端实现。 |
-帮帮我 | 显示所有命令的帮助。 |
-instances <组件实例> | 与-upgrade选项一起使用以触发应用程序的指定组件实例的升级。还可以与-decommission选项一起使用来停用指定的组件实例。多个实例应以逗号分隔。 |
-kill <应用程序ID> | 终止应用程序。可以提供应用程序集并用空格隔开 |
-启动<应用程序名称> <文件名> | 从规范文件启动应用程序(保存规范并启动应用程序)。可以指定选项-updateLifetime和-changeQueue来更改文件中提供的值。支持-appTypes选项以指定要使用的客户端实现。 |
-清单 | 列出应用程序。支持可选使用-appTypes基于应用程序类型过滤应用程序,-appStates基于应用程序状态过滤应用程序,以及-appTags基于应用程序标记过滤应用程序。 |
-movetoqueue <应用程序ID> | 将应用程序移到其他队列。不推荐使用的命令。请改用'changeQueue'。 |
-queue <队列名称> | 与movetoqueue命令一起使用以指定将应用程序移动到的队列。 |
-save <应用程序名称> <文件名称> | 保存应用程序的规范文件。可以指定选项-updateLifetime和-changeQueue来更改文件中提供的值。支持-appTypes选项以指定要使用的客户端实现。 |
-start <应用程序名称> | 启动以前保存的应用程序。支持-appTypes选项以指定要使用的客户端实现。 |
-status <ApplicationId或ApplicationName> | 打印应用程序的状态。如果提供了应用程序ID,它将显示常规YARN应用程序状态。如果提供了名称,它将根据应用程序自身的实现打印应用程序特定的状态,并且必须指定-appTypes选项,除非它是默认的yarn-service类型。 |
-stop <应用程序名称或ID> | 正常停止应用程序(稍后可能会再次启动)。如果提供了名称,则必须提供appType,除非它是默认的yarn-service。如果提供了ID,则将查找appType。支持-appTypes选项以指定要使用的客户端实现。 |
-updateLifetime <超时> | 从现在开始更新应用程序的超时。可以使用'appId'选项传递ApplicationId。超时值以秒为单位。 |
-updatePriority <优先级> | 更新应用程序的优先级。可以使用'appId'选项传递ApplicationId。 |
打印应用程序报告/杀死应用程序/管理长期运行的应用程序
用法:纱线应用尝试[选项]
COMMAND_OPTIONS | 描述 |
---|---|
-帮帮我 | 帮帮我 |
-列表<ApplicationId> | 列出给定应用程序的应用程序尝试。 |
-status <应用程序尝试ID> | 打印应用程序尝试的状态。 |
打印应用程序尝试报告
用法:yarn classpath [--glob | --jar <path> | -h | --help]
COMMAND_OPTION | 描述 |
---|---|
--glob | 扩展通配符 |
--jar 路径 | 写类路径体现在罐子命名的路径 |
-h,--help | 打印帮助 |
打印获取Hadoop jar和所需库所需的类路径。如果不带参数调用,则打印由命令脚本设置的类路径,该类路径可能在类路径条目中包含通配符。其他选项可在通配符扩展后打印类路径,或将类路径写入jar文件的清单中。后者在无法使用通配符且扩展的类路径超过支持的最大命令行长度的环境中很有用。
用法:纱线容器[选项]
COMMAND_OPTIONS | 描述 |
---|---|
-帮帮我 | 帮帮我 |
-list <应用程序尝试ID> | 列出应用程序尝试的容器。 |
-状态<ContainerId> | 打印容器的状态。 |
打印容器报告
用法:纱线日志-applicationId <应用程序ID> [选项]
COMMAND_OPTIONS | 描述 |
---|---|
-applicationId <应用程序ID> | 指定应用程序ID |
-appOwner <AppOwner> | AppOwner(如果未指定,则假定为当前用户) |
-containerId <ContainerId> | ContainerId(如果指定了节点地址,则必须指定) |
-帮帮我 | 帮帮我 |
-nodeAddress <节点地址> | NodeAddress格式为nodename:port(如果指定了容器ID,则必须指定) |
转储容器日志
对Hadoop集群的管理员有用的命令。
动态获取/设置守护程序中由合格的类名称标识的日志的日志级别。有关更多信息,请参见《 Hadoop 命令手册》。
用法:yarn resourcemanager [-format-state-store]
COMMAND_OPTIONS | 描述 |
---|---|
-format-state-store | 格式化RMStateStore。这将清除RMStateStore,如果不再需要以前的应用程序,则将非常有用。仅当ResourceManager未运行时才应运行此命令。 |
从状态存储<appId>中删除应用程序 | 从RMStateStore删除该应用程序。仅当ResourceManager未运行时才应运行此命令。 |
启动ResourceManager
用法:
用法:纱线rmadmin -refreshQueues -refreshNodes [-g |优美的[以秒为单位的超时] -client | server] -refreshNodes资源 -refreshSuperUserGroupsConfiguration -refreshUserToGroupsMappings -refreshAdminAcls -refreshServiceAcl -getGroups [用户名] -addToClusterNodeLabels <“ label1(exclusive = true),label2(exclusive = false),label3”> -removeFromClusterNodeLabels <label1,label2,label3>(由“,”分隔的标签) -replaceLabelsOnNode <“ node1 [:port] = label1,label2 node2 [:port] = label1,label2”> [-failOnUnknownNodes] -directAccessNodeLabelStore -refreshClusterMaxPriority -updateNodeResource [NodeID] [MemSize] [vCores]([OvercommitTimeout])或-updateNodeResource [NodeID] [ResourceTypes]([OvercommitTimeout]) -transitionToActive [--forceactive] <服务ID> -transitionToStandby <serviceId> -failover [--forcefence] [--forceactive] <服务ID> <服务ID> -getServiceState <serviceId> -getAllServiceState -checkHealth <serviceId> -帮助[cmd]
COMMAND_OPTIONS | 描述 |
---|---|
-refreshQueues | 重新加载队列的ACL,状态和调度程序特定的属性。ResourceManager将重新加载mapred-queues配置文件。 |
-refreshNodes [-g |优美的[以秒为单位的超时] -client | server] | 在ResourceManager上刷新主机信息。在这里[-g |优美[超时时间(以秒为单位)-client | server]是可选的,如果我们指定了超时,则ResourceManager将等待超时,然后再将NodeManager标记为已停用。-client | server指示是否应由客户端或ResourceManager处理超时跟踪。客户端跟踪被阻止,而服务器端跟踪未被阻止。忽略超时或超时-1表示无限超时。已知问题:如果发生RM HA故障转移,则服务器端跟踪将立即停用。 |
-refreshNodes资源 | 在ResourceManager上刷新NodeManager的资源。 |
-refreshSuperUserGroupsConfiguration | 刷新超级用户代理组映射。 |
-refreshUserToGroupsMappings | 刷新用户到组的映射。 |
-refreshAdminAcls | 刷新ACL以管理ResourceManager |
-refreshServiceAcl | 重新加载服务级授权策略文件ResourceManager将重新加载授权策略文件。 |
-getGroups [用户名] | 获取指定用户所属的组。 |
-addToClusterNodeLabels <“ label1(exclusive = true),label2(exclusive = false),label3”> | 添加到群集节点标签。默认排他性为true。 |
-removeFromClusterNodeLabels <label1,label2,label3>(标签以“,”分隔) | 从群集节点标签中删除。 |
-replaceLabelsOnNode <“ node1 [:port] = label1,label2 node2 [:port] = label1,label2”> [-failOnUnknownNodes] | 替换节点上的标签(请注意,我们暂时不支持在单个主机上指定多个标签。)-failOnUnknownNodes是可选的,当我们设置此选项时,如果指定的节点未知,它将失败。 |
-directAccessNodeLabelStore | 此版本已弃用,将在以后的版本中删除。直接访问节点标签存储,使用此选项,所有与节点标签相关的操作都不会连接RM。相反,他们将直接访问/修改存储的节点标签。默认情况下为false(通过RM访问)。并且请注意:如果将yarn.node-labels.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选项,请尝试使目标处于活动状态而不检查是否没有活动节点。如果启用了自动故障转移,则不能使用此命令。尽管您可以通过–forcemanual选项覆盖此设置,但仍需要谨慎。如果启用了自动故障转移,则不能使用此命令。 |
-transitionToStandby [–forcemanual] <serviceId> | 将服务转换为待机状态。如果启用了自动故障转移,则不能使用此命令。尽管您可以通过–forcemanual选项覆盖此设置,但仍需要谨慎。 |
-failover [–forceactive] <服务ID1> <服务ID2> | 启动从serviceId1到serviceId2的故障转移。即使使用–forceactive选项,也要尝试将其故障转移到目标服务,即使该服务尚未就绪。如果启用了自动故障转移,则不能使用此命令。 |
-getServiceState <serviceId> | 返回服务状态。 |
-getAllServiceState | 返回所有服务的状态。 |
-checkHealth <serviceId> | 要求服务执行健康检查。如果检查失败,RMAdmin工具将以非零退出代码退出。 |
-帮助[cmd] | 显示给定命令或所有命令(如果未指定)的帮助。 |
运行ResourceManager管理客户端
用法:yarn schedulerconf [选项]
COMMAND_OPTIONS | 描述 |
---|---|
-add <“ queuePath1:key1 = val1,key2 = val2; queuePath2:key3 = val3”> | 用分号分隔要添加的队列的值及其队列配置。本示例添加队列“ queuePath1”(完整路径名),该队列具有队列配置key1 = val1和key2 = val2。它还添加了队列“ queuePath2”,该队列具有队列配置key3 = val3。 |
-删除<“ queuePath1; queuePath2”> | 用分号分隔的队列可以删除。本示例删除queuePath1和queuePath2队列(完整路径名)。注意:在删除队列之前,必须将其置于STOPPED状态。 |
-update <“ queuePath1:key1 = val1,key2 = val2; queuePath2:key3 = val3”> | 用分号分隔的队列值应更新其配置。本示例将key1 = val1和key2 = val2设置为queuePath1(完整路径名)的队列配置,并将key3 = val3设置为queuePath2的队列配置。 |
全局<key1 = val1,key2 = val2> | 更新调度程序全局配置。本示例为调度程序的全局配置设置key1 = val1和key2 = val2。 |
更新调度程序配置。请注意,此功能处于Alpha阶段,可能会发生变化。