yarn介绍

yarn是Apache Hadoop YARN,hadoop中的组件,是英文简称,全程是Yet Another Resource Negotiator,另一种资源协调者,是一种新的Hadoop资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。

 

hadoop进行资源管理和任务调度的是resourcemanager。后面会更新google三篇论文和yarn的演变过程

 

yarn的web界面

yarn常用的端口是8088,下面这个是yarn的web界面,yarn的其他端口及作用可以查看之前的文章

hadoop之yarn_资源管理

nodes是当前集群的节点情况,会记录节点数,配置等信息

hadoop之yarn_yarn_02

scheduler是yarn调度情况,队列,调度器(容量、公平、单队列)

hadoop之yarn_mapreduce_03

Applications是提交的任务,下图是提交任务的jobid,这个是提交时自动生成。

hadoop之yarn_mapreduce_04

 

介绍一下几种状态

  • submitted 提交
  • accepted 接受
  • running 运行中
  • finished 完成
  • failed 失败
  • killed 杀死

顺序是:submitted - accepted - running - finished、failed、killed

 

有时候因为oom或超时等情况,yarn会自动杀死任务,这种情况下导致的是failed还是killed,可以在评论区留言

 

手动杀死的是killed,亲测过

 

yarn application命令

hadoop之yarn_资源管理_05

 

yarn application -list: 列出所有的状态任务

yarn application -list -appStates RUNNING:-appStates是任务状态,用来筛选不同状态的application,支持的状态如上,如果筛选多个可以用,隔开

yarn application -list -appTypes MAPREDUCE:appTypes是应用类型,这里是筛选mapreduce

yarn application -kill application_1608003347452_0139:杀死一个application,yarn的web界面展示任务,没有提供杀死任务的功能,需要手动,这里可以从页面上复制appliction的ID号,在linux命令行中执行,注意要配置yarn的环境变量

yarn application -status application_1608003347452_0139:查看这个任务的状态

掌握这几种,基本的操作没问题

 

补充【2021-01-29】

hadoop之yarn_资源管理_06