yarn
文章平均质量分 89
陈猿解码
这个作者很懒,什么都没留下…
展开
-
issue:yarn-11396
在容量调度方式中,队列的capacity参数是作用于单个用户可以使用的资源上限,这个在文章《YARN——正确理解容量调度的capacity参数》一文中详细讲解过。然而,最近一次发测自验过程中,发现单个用户提交的任务,其资源使用超过了队列的capacity配置参数,甚至是几乎用满了集群的全部资源。本文就该问题进行分析总结。前两天,在版本发测自验时,同事运行了一个flink任务,然后去吃饭了,回来正准...原创 2022-12-17 06:50:22 · 165 阅读 · 0 评论 -
yarn container的进程以及kill动作的逻辑
【背景】在一次问题排查过程中,误杀了yarn任务container的其中一个进程,导致yarn application kill不再生效,并且在rm中任务状态显示为失败,但实际进程还在运行。在分析问题的同时,抽时间对yarn任务的进程、以及kill命令的执行流程进行了整理。本文就来聊聊这些内容。【yarn任务相关的进程】在yarn中,任务提交时(不管是AM还是任务container),会指定任务的...原创 2022-11-04 23:15:44 · 1516 阅读 · 0 评论 -
yarn中的事件分发与状态机框架
【概述】在早之前的文章《YARN——任务提交启动流程》中提到了,其处理逻辑是围绕applicaiton、container、attempt实例对象的创建,各自状态机的变化来实现的。具体来说,是将处理逻辑抽象为事件与事件的处理,对事件进行异步分发以及对不同事件的回调处理,同时以有限状态机来表示事件处理后的不同状态。本文就来总结下yarn中的事件异步分发处理框架以及状态机框架的使用与实现原理。【事件异...原创 2022-10-01 23:29:13 · 499 阅读 · 0 评论 -
容量调度绝对值配置队列使用与避坑
【概述】在yarn中,对于容量调度而言,需要配置不同的队列,并为队列分配不同的资源。然而资源的配置是按照集群总资源的百分比来的,那么,如果集群资源进行扩容,队列的资源也就相应的增加了。在某些场景下, 我们可能希望某些队列的资源是固定的,不随集群资源的扩缩容而变更,这就需要给队列资源配置一个绝对值,在hadoop3.1.0版本中,开始引入了这个功能。本文就来聊聊如何给队列配...原创 2022-06-25 23:41:58 · 374 阅读 · 0 评论 -
yarn节点属性及调度
【节点属性产生的背景】在2.X版本中,已经支持节点设置标签,并且允许容量调度中的队列,设置可访问的节点标签以及默认标签值,并按照节点标签进行调度。但一个节点只能有1个标签,这样在yarn集群中,通过标签将NM节点划分为不同的节点池(1个NM节点只能属于某个固定的节点池)。实际上,光有节点标签还不能满足一些复杂的场景,比如同一个类型标签中的不同NM节点,可能有不同环境信息,例如不同的jdk版本、py...原创 2022-08-17 23:39:56 · 842 阅读 · 0 评论 -
zk session expire会引起HA模式的rm一直处于standby吗
【概述】最近连续在多个环境中遇到了同一个问题:在HA模式下,两个resourcemanager均为standby,并且持续没有选举出新的leader。经过一番分析,并对照源码梳理问题出现前后的逻辑流程,最后发现是因为zk会话过期(session expire)引起的问题,本文就复盘总结下。【RM的正常选举流程】在很早之前的文章中,介绍过hadoop里namenode的HA机制(戳这里),RM的选举...原创 2022-09-03 01:06:33 · 733 阅读 · 0 评论 -
yarn任务信息的几种获取方式
在问题定位、日常巡检、特定开发任务中,都会涉及查看yarn任务的相关信息,包括applicaiton的ID、类型、名称、起始时间、app所包含的container、以及每个container的日志文件内容等信息。本文就来聊聊查询查看这些信息的几种方式。【通过RM的WEB查看】这个是最简单的方式,直接在浏览器中打开RM的web网页就可以查看所有的App信息以及对应的日志了。...原创 2022-06-02 07:08:02 · 6930 阅读 · 0 评论 -
YARN任务运行中的Token
上一篇文章中,主要讲解了token的一些通用知识,以及hadoop中,token的实现和通用数据结构及流程。本文主要讲述yarn任务提交运行过程中涉及的几个重要token:AMRMToken,NMToken,ContainerToken。【AMRMToken】用于保证ApplicationMaster(下面均简称AM)与RM之间的安全通信,即AM向RM注册,以及后续向RM...原创 2022-05-24 06:41:24 · 1101 阅读 · 0 评论 -
多图讲解YARN容量调度中的资源抢占
在前面的文章中讲过容量调度中队列的容量配置、容量调度中的优先级调度。实际使用场景中可能会出现这么几种情况:某个队列中的正在运行的任务所使用的资源超过了队列配置的容量,那么提交到其他队列的任...原创 2021-09-08 23:34:25 · 4314 阅读 · 7 评论 -
YARN——容量调度中决定用户资源的几个参数
在《YARN——正确理解容量调度的capacity参数》一文中提到了,决定用户资源使用上限的还有user-limit-factor,minimum-user-limit-percent等参...原创 2021-07-11 00:36:26 · 3352 阅读 · 0 评论 -
YARN——队列内的优先级调度
【原理介绍】在hadoop官方文档中,描述了容量调度支持按任务的优先级来调度。具体来说就是:客户端向yarn提交任务时,可以指定任务的优先级。任务的优先级是一个正整数,值越大意味着任务的优...原创 2021-06-28 23:58:21 · 4459 阅读 · 0 评论 -
YARN——正确理解容量调度的capacity参数
容量调度器中,配得最多的应该就是capacity和maximum-capacity了,一个是当前队列的资源容量,一个是队列可使用的最大容量。多个队列的容量之和为100。maximum-ca...原创 2021-06-18 23:45:24 · 4117 阅读 · 0 评论 -
YARN——标签调度
【简介】hadoop2.7.2开始,yarn在容量调度器的基础上增加了标签调度功能,使用该功能的一个典型场景是:某个任务需要用到gpu资源,而gpu并非在每个节点上都有,通过对节点设置标签...原创 2021-06-22 23:41:02 · 2617 阅读 · 7 评论 -
YARN——NM重启后的任务恢复
【概述】上一篇文章中提到了,nm进程重启后会根据记录的信息进行恢复或重新创建container进程,那么NM将container的哪些信息记录到了本地,重启过程中又是如何读取并恢复的,本文...原创 2021-04-28 23:52:22 · 1949 阅读 · 0 评论 -
YARN——任务运行异常处理
【概述】上篇文章讲述了yarn任务提交运行的流程,本文来聊聊整个运行过程中的一些异常情况,以及yarn是如何处理的。【container进程异常】在NM内部,对于container进程的启...原创 2021-04-27 23:37:46 · 2705 阅读 · 0 评论 -
YARN——任务提交启动流程
【概述】学习yarn,就不得不涉及yarn的任务运行流程,虽然网上有很多文章进行相关的总结,但总觉得是别人,因此还是按照自己的理解,进行总结分享,也算是对过程的输出交付。【名词概念】首先来...原创 2021-04-25 22:01:23 · 2793 阅读 · 0 评论 -
YARN——NM的资源管理
【一些概念】本地化(Localization)将资源下载到本地的过程,这样container运行时可以从本地加载而不是从访问远端的文件。资源(Resource)资源表示运行containe...原创 2021-04-07 23:59:48 · 1821 阅读 · 0 评论 -
YARN——Container启动上下文
【概述】在YARN中,不管是ApplicationMaster(后面均简称AM),还是一般的container(例如MR中的map任务、reduce任务;Spark中的executor或者...原创 2021-04-01 23:51:11 · 1479 阅读 · 0 评论 -
YARN聚合文件格式
【前言】我们都知道日志聚合后的文件是存放在HDFS中的,然而每个application可能会有很多的container,每个container又有多个日志文件,那么日志聚合后,这些日志文...原创 2021-01-13 23:35:56 · 1074 阅读 · 0 评论 -
YARN——日志聚合
【简介】在yarn架构中,application由一个个的container组成,每个container可运行在不同的nodemanager节点上,每个container的日志存储在co...原创 2020-04-14 00:47:34 · 3662 阅读 · 0 评论