1 yarn
yarn [--config confdir] [COMMAND | CLASSNAME]
1.1 参数:
1.1.1 resourcemanager
参数选项 | 描述 |
---|
-format-state-store | RMStateStore格式化. 如果过去的应用程序不再需要,则清理RMStateStore, RMStateStore仅仅在ResourceManager没有运行的时候,才运行RMStateStore |
-remove-application-from-state-store | 使用 -remove-application-from-state-store <appId> 从RMStateStore中删除应用程序 |
示例:
yarn resourcemanager -format-state-store
yarn resourcemanager -remove-application-from-state-store application_1620979527782_46718
1.1.2 nodemanager
yarn nodemanager
1.1.3 timelineserver
作用:
启动 timeline server。
示例:
yarn timelineserver
1.1.4 sharedcachemanager
作用:
启动Shared Cache Manager。
示例:
yarn sharedcachemanager
1.1.5 proxyserver
作用:
启动web proxy server。
示例:
yarn proxyserver
1.1.6 top
作用:
类似linux里的top命令,查看正在运行的程序资源使用情况
示例:
yarn top
1.1.7 version
yarn version
1.1.8 classpath --glob
yarn classpath --glob
查看路径。
yarn classpath
1.1.9 yarn jar [mainClass] args…
yarn jar [mainClass] args...
1.1.10 registrydns
yarn registrydns
1.1.11 schedulerconf
yarn schedulerconf [options]
参数 | 描述 |
---|
-add <"queuePath1:key1=val1,key2=val2;queuePath2:key3=val3"> | 添加分号分隔的队列配置。 |
-remove <"queuePath1;queuePath2"> | 移除队列,队列必须为STOPED状态,才能被删除。 |
-update<"queuePath1:key1=val1,key2=val2;queuePath2:key3=val3"> | 更新队列配置。 |
-global <key1=val1,key2=val2> | 更新调度器全局配置。 |
2 yarn application
yarn application COMMAND
参数 | 描述 |
---|
-appStates | 与 -list 配合使用,基于应用程序的状态来过滤,多个状态用逗号分隔状态。有效的状态:ALL,NEW,NEW_SAVING,SUBMITTED,ACCEPTED,RUNNING,FINISHED,FAILED,KILLED |
-appTypes | 与 -list 配合使用,基于应用程序的类型来过滤,多个应用程序用逗号分隔 |
-help | 帮助列表 |
-kill | 杀死指定的应用程序 |
-list | 从 ResourceManager 获取应用程序列表. 使用 -appTypes 基于应用程序的类型来过滤 使用 -appStates 基于应用程序的状态来过滤 |
-movetoqueue | 将应用程序移动到不同的队列 |
-queue | 与 movetoqueue配合使用,移到指定队列 |
-status | 获取应用程序的状态 |
- 获取某状态的应用列表
yarn application -list -appStates RUNNING
- 获取某应用类型应用列表
yarn application -list -appTypes SPARK
- 杀掉已经提交的到yarn上的应用
yarn application -kill application_1620979527782_46922
- 获取某应用的状态
yarn application -status application_1620979527782_46922
- 将任务换队列
yarn application -movetoqueue application_1620979527782_46922 -queue kb_bigdata_day
3 yarn applicationattempt
yarn applicationattempt COMMAND
参数 | 描述 |
---|
-help | 帮助列表 |
-list | 获取应用程序尝试的列表 |
-status | 获取应用程序尝试的状态 |
- 获取应用程序尝试的列表
yarn applicationattempt -list application_1620979527782_46109
- 获取应用程序尝试的状态
yarn applicationattempt -status appattempt_1620979527782_46109_000002
4 yarn container
yarn container [options]
命令选项 | 描述 |
---|
-help | 帮助 |
-list <Application Attempt Id> | 应用程序尝试的Containers列表 |
-status \\<ContainerId> | 打印Container的状态 |
-signal <container ID [signal command]> | |
- 应用程序尝试的Containers列表
yarn container -list appattempt_1620979527782_46109_000002
- 打印Container的状态
yarn container -status container_1620979527782_46109_02_000001
3. 获取Container的信号状态
yarn container --signal container_1620979527782_46109_02_000001
5 yarn node
yarn node [options]
参数 | 描述 |
---|
-all | 与 -list 打印所有节点的报告 |
-list | 获取所有 RUNNING 状态的节点。 支持 -states 选项过滤指定的状态。节点状态包括 NEW,RUNNING,UNHEALTH,DECOMMISSIONED,LOST 和 REBOOTED |
-states | 与 -list 配合使用,用逗号分隔节点状态,只显示这些状态的节点信息 |
-status <Node-Id> | 获取指定节点的状态 |
- 查看所有节点的报告
yarn node -all -list
- 获取所有 RUNNING 状态的节点
yarn node -list
- 显示某状态的节点信息
yarn node -list -states RUNNING
- 获取指定节点的状态
yarn node -status bj00-a-080-027-bdy.xxx.com:25319
6 yarn queue
yarn queue [options]
参数 | 描述 |
---|
-help | 帮助列表 |
-status | 获取队列的状态 |
- 查看某队列的状态
yarn queue -status kb_bigdata_hour
7 yarn logs
yarn logs -applicationId <application ID> [options]
注:应用程序没有完成,该命令是不能打印日志的。
命令选项 | 描述 |
---|
-applicationId <application ID> | 指定应用程序ID,应用程序的ID可以在yarn.resourcemanager.webapp.address配置的路径查看(即:ID) |
-appOwner <AppOwner> | 应用的所有者(如果没有指定就是当前用户)应用程序的ID可以在yarn.resourcemanager.webapp.address配置的路径查看(即:User) |
-containerId <ContainerId> | Container Id |
-help | 帮助 |
-nodeAddress <NodeAddress> | 节点地址的格式:nodename:port (端口是配置文件中:yarn.nodemanager.webapp.address参数指定) |
- 查看指定应用程序的日志信息
yarn logs -applicationId application_1620979527782_46962
- 查看指定应用和应用的所有者的日志信息
yarn logs -applicationId application_1620979527782_46962 -appOwner bd
- 查询指定应用和容器的的日志信息
yarn logs -applicationId application_1620979527782_0010 -containerId container_1620979527782_0010_01_000001
- 查看指定应用、容器及节点地址的日志信息
yarn logs -applicationId application_1620979527782_0010 -containerId container_1620979527782_0010_01_000001 -nodeAddress bj00-a-080-027-bdy.xxx.com:6925
8 yarn daemonlog
yarn daemonlog -getlevel <host:httpport> <classname>
yarn daemonlog -setlevel <host:httpport> <classname> <level>
参数选项 | 描述 |
---|
-getlevel <host:httpport> <classname> | 打印运行在host:port的守护进程的日志级别。这个命令内部会连接http://<host:port>/logLevel?log=<name> |
-setlevel <host:httpport> <classname> <level> | 设置运行在host:port的守护进程的日志级别。这个命令内部会连接http://<host:port>/logLevel?log=<name> |
针对指定的守护进程,获取/设置日志级别.
[root@hadoopcluster78 ~]$ hadoop daemonlog -getlevel hadoopcluster82:50075 org.apache.hadoop.hdfs.server.datanode.DataNode
Connecting to http:
Submitted Log Name: org.apache.hadoop.hdfs.server.datanode.DataNode
Log Class: org.apache.commons.logging.impl.Log4JLogger
Effective level: INFO
9 yarn rmadmin
参数 | 描述 |
---|
-refreshQueues | 重载队列的ACL、状态和调度器特定的属性,ResourceManager将重新加载mapred-queues配置文件 |
-refreshNodes [-g [timeout in seconds] -client \\| server] | 动态刷新dfs.hosts dfs.hosts.exclude配置,无需重启NameNode。dfs.hosts:列出了允许连入NameNode的datanode清单(IP或者机器名)dfs.hosts.exclude:列出了禁止连入NameNode datanode清单(IP或者机器名)重新读取hosts和exclude文件,更新允许连到Namenode的或那些需要退出或入编的Datanode的集合。 |
-refreshSuperUserGroupsConfiguration | 刷新用户组的配置 |
-refreshUserToGroupsMappings | 刷新用户到组的映射 |
-refreshAdminAcls | 刷新 ResourceManager 的 ACL 管理 |
-refreshServiceAcl | ResourceManager 重载服务级别的授权文件 |
-getGroups [username] | 获取指定用户所属的组 |
-help [cmd] | 显示指定命令的帮助,没有指定,则显示全部指令帮助 |
-addToClusterNodeLabels [label1,label2,label3] (label splitted by “,”) | 添加到集群节点标签。默认是true |
-removeFromClusterNodeLabels [label1,label2,label3] (label splitted by “,”) | 移除标签 |
-replaceLabelsOnNode [label1,label2,label3] (label splitted by “,”) | 替换节点标签,目前不支持在单个主机上指定多个标签。 |
-directlyAccessNodeLabelStore | 直接访问节点标签库,已经废弃,未来会移除。如果你配置了yarn.node-labels.fs-store.root-dir到一个本地目录,而不是分布式目录,则此命令只能在资源管理器节点上运行。 |
-refreshClusterMaxPriority | 刷新集群最大优先级 |
-updateNodeResource [NodeID] [MemSize] [vCores] ([OvercommitTimeout]) | 更新指定的节点资源。 |
-updateNodeResource [NodeID] [ResourceTypes]([OvercommitTimeout]) | 更新指定的节点上的资源类型。资源类型是逗号分隔的键值对,例如:memory-mb=1024M,vcores=1,resource1=2G,resource2=4m,resource1=2G,resource2=4m |
-transitionToActive [–forceactive] | 尝试将目标服务转为 Active 状态。如果使用了–forceactive选项,不需要核对非Active节点。如果采用了自动故障转移,这个命令不能使用。虽然你可以重写–forcemanual选项,你需要谨慎。 |
-transitionToStandby | 将服务转为 Standby 状态. 如果采用了自动故障转移,这个命令不能使用。虽然你可以重写–forcemanual选项,你需要谨慎。 |
-failover [–forcefence] [–forceactive] | 启动从serviceId1 到 serviceId2的故障转移。如果使用了-forceactive选项,即使服务没有准备,也会尝试故障转移到目标服务。如果采用了自动故障转移,这个命令不能使用。 |
-getServiceState | 返回服务的状态。(注:ResourceManager不是HA的时候,时不能运行该命令的) |
-getAllServiceState | 返回所有服务的状态。 |
-checkHealth | 请求服务器执行健康检查,如果检查失败,RMAdmin将用一个非零标示退出。(注:ResourceManager不是HA的时候,时不能运行该命令的) |
yarn rmadmin -getGroups bd
yarn rmadmin -getAllServiceState
10 yarn scmadmin
运行分片缓存管理器管理客户端。
yarn scmadmin [options]
参数选项 | 描述 |
---|
-help | Help |
-runCleanerTask | 运行清理任务 |