Yarn的几个常用命令

发布时间 2023-06-11 23:35:47作者: MrSponge

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命令可以将标准输入的数据转换为命令行参数,并传递给指定的命令。-ixargs命令的一个参数,意思就是接收输入的数据,并将这个数据传递给后面的参数命令{}。具体命令查看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命令使用方法啦§( ̄▽ ̄