Yarn是一个资源管理器和任务调度器,如果你的大数据集群是用的Yarn来管理的,那下面有几个比较常用的命令。
查看任务列表
yarn application -list
该命令是查看在所有Yarn上运行的任务信息,一般包括:Application-Id、Application-Name、Application-Type、User、Queue、State、Final-State、Progress、Tracking-URL
通常这个命令并会会单独用,因为一般大数据集群每时每刻都会用很多任务在运行,查看全部任务信息也看不过来,都是搭配其他Linux命令使用,下面介绍一个常用的搭配命令awk
yarn application -list | awk '{print $2}' | grep Application-Name
命令功能:查看在Yarn上运行的所有任务名。
awk
是一个很强大的文本工具,可用于处理文本文件和生成报告,具体命令使用可以通过awk -help
查看。通过yarn application -list
命令可以查看到Yarn上运行的所有任务信息,再将这个信息传递给awk
命令输出第二列数据,grep
后面的参数起筛选作用(可以模糊匹配)
kill掉Yarn上的程序
yarn application -kill <application_id>
如果我们想批量kill掉任务,这里不仅要借助awk
命令,还要用到xargs
命令
yarn application -list | grep Application-Name | awk '{print $1}' | xargs -i yarn application -kill {}
命令功能:批量kill掉yarn上包含Application-Name信息的任务。
通过grep
筛选出对应的任务名信息,通过awk
获取application_id数据,并将数据传递给xargs
命令。
xargs
命令可以将标准输入的数据转换为命令行参数,并传递给指定的命令。-i
是xargs
命令的一个参数,意思就是接收输入的数据,并将这个数据传递给后面的参数命令{}
。具体命令查看xargs -help
查看Yarn运行任务的log
yarn -logs -applicationId <application_id>
每当我们在Linux测试任务,提交任务到Yarn,这个命令是必备的了。通常也会搭配一些基础的Linux命令使用。
yarn -logs -applicationId <application_id> | less
less
命令就是一个文本查看器了,非常方便,它可以通过空格、n、N、上下左右键来实现页面内容的滚动,当然也可以搭配其他命令来使用,more
效果是一样的。
查看Yarn资源
yarn top
显示正在Yarn群集上运行的各个应用程序的资源使用情况,包括:APPLICATIONID、USER、TYPE、QUEUE、PRIOR、#CONT、#RCONT 、VCORES、RVCORES、MEM、RMEM、VCORESECS、MEMSECS、%PROGR、TIME、NAME
- TYPE:正在运行的应用程序的类型(例如,MAPREDUCE、MOBIGEN等)
- QUEUE:应用程序所在的 YARN 队列的名称。
- PRIOR:应用程序当前的优先级。
- #CONT:应用程序已启动的容器数量。
- #RCONT:应用程序在节点上的待启动容器数量。
- VCORES:应用程序当前已分配的虚拟内核数量。
- RVCORES:应用程序在节点上的待分配虚拟内核数量。
- MEM:应用程序当前已分配的内存大小。
- RMEM:应用程序在节点上的待分配内存大小。
- VCORESECS:应用程序已使用的CPU时间。
- MEMSECS:应用程序已使用的内存时间。
- %PROGR:应用程序当前的进度百分比。
- TIME:应用程序的运行时间。
通过这个命令可以更好的了解正在运行的应用程序的资源占用情况,以及应用程序当前所处的状态和需要采取的优化措施,但是我用的最多的就是单敲个top
命令,挂着Linux,防止屏幕太久没动,导致终端退出。
查看某个节点的状态
yarn node -status <namenode>
查看某台namenode
节点的状态情况,这个很少用到,说这个只是为了知道,可以通过node
达到控制单台节点的操作。
以上就是我目前在工作中会经常接触到的Yarn命令使用方法啦§( ̄▽ ̄)§
标签:application,几个,Yarn,yarn,命令,awk,应用程序,常用命令 From: https://www.cnblogs.com/Mr-Sponge/p/17473858.html