首页 > 其他分享 >Yarn的几个常用命令

Yarn的几个常用命令

时间:2023-06-11 23:45:44浏览次数:66  
标签:application 几个 Yarn yarn 命令 awk 应用程序 常用命令

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命令使用方法啦§( ̄▽ ̄

标签:application,几个,Yarn,yarn,命令,awk,应用程序,常用命令
From: https://www.cnblogs.com/Mr-Sponge/p/17473858.html

相关文章

  • Docker CLI docker exec 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......
  • gdb常用命令
    1.gdb[GDB调试教程:1小时玩转Linuxgdb命令]sudodnfdebuginfo-installglibc-2.32-2.fc33.x86_64编译时,gcc-gtest.c-otest,因为在调试二进制文件的时候,我们需要在二进制文件中加入调试信息,而调试信息是怎么添加的呢?它是在编译的时候,通过-g选项添加的,即类似于gcc-gtest......
  • Docker CLI docker container exec 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......
  • Docker CLI docker export 常用命令
    Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker是内核虚拟化,不使用Hypervisor是不完全虚拟化,依赖内核的特性实现资源隔离。本文主要介绍DockerCLI中d......
  • Maven常用命令及其作用
    一、Maven常用命令及其作用1、mavenclean:对项目进行清理,删除target目录下编译的内容2、mavencompile:编译项目源代码3、maventest:对项目进行运行测试4、mavenpacket:打包文件并存放到项目的target目录下,打包好的文件通常都是编译后的class文件5、maveninstall:在本地......
  • 开源协议专题(五):开源协议的几个关键概念
    背景说明:本文主要讲述和开源协议相关的几个关键概念,方便后续介绍几个主流的开源协议以及比较他们之间的差异时能更好的理解。一、License:1、License:许可协议,也叫许可证。2、OpenSourceLicense:开源许可证,或者叫开源许可协议,是指开源组织为了维护作者和贡献者的合法权利,保证......
  • Linux常用命令
    以下是常用的Linux命令:1.ls:列出目录中的文件和子目录。2.cd:切换当前目录。3.pwd:显示当前工作目录的完整路径。4.mkdir:创建一个新的目录。5.rm:删除文件或目录。6.cp:复制文件或目录。7.mv:移动文件或目录,也可以用于重命名文件或目录。8.cat:显示文件内容。9.less:......
  • 这9个Python问题你能回答几个?
    周末了,一起开心开心。主要是想提醒一下,在和别人交流时应该详细描述问题,这一点真的非常非常非常重要。1、2、老师,我的代码可以运行,结果如下,我该怎么办?3、4、我的代码运行之后显示这个,请问怎么解决?5、6、怎么破,急,在线等。7、8、9、群里有人吗,谁能告诉我这个怎么办?公众号“Python小屋......
  • Python文件操作的几个要点与示例
    一般操作文件时,要么是读取其中的内容,要么是往里面写入新内容,但偶尔也会需要同时进行读写。Python内置函数在操作文本文件和自定义二进制文件时比较方便,该函数语法为:open(file,mode='r',buffering=-1,encoding=None,errors=None,newline=None,closefd=True,opener=None)其中......
  • Python 3.8与普通程序员有关的几个新特性
    ==============1、字典支持内置函数reversed()了。在Python3.7之前的版本中,是不支持内置函数reversed()的,但在Python3.8中,可以这样做了,2、加强了函数调用时关键参数形式的限制。在Python3.7之前的版本中,是允许这样用的,虽然很少有人这样做但在Python3.8中,不再允许了,3、改进了函......