Yarn
文章平均质量分 68
凡哲_Lucas
Apache Hadoop Committer
Apache Yunikorn Committer
展开
-
深入理解YARN全局调度和源码分析
深入理解YARN全局调度和源码分析背景原始的心跳调度模式全局调度的调度模式全局调度反客为主全局调度并发判断基于Capacity Scheduler的全局调度源码分析集群资源生产过程源码分析集群资源消费过程源码分析背景之前写了一篇文章介绍了全局调度思想 YARN global scheduling (全局调度思想解析)。本文将对全局调度YARN的实现做全面的深入分析和源码解析。全局调度在未来,混合异构等计算集群,和存储计算分离大趋势下,是一个非常重要的特性。原始的心跳调度模式如上图所示,调度选择过程原创 2020-05-29 18:36:49 · 1730 阅读 · 5 评论 -
趣头条百PB规模 Hadoop实践(HDFS篇)
趣头条HDFS实践技术背景第一阶段NameNode负载和扩展性问题拆RPC端口以及拆NameSpace组成FederationBalancer负载转移和搬迁优化拆分日志相关的NameSpace降低负载NameNode拥塞控制异步化各种操作提高NameNode的吞吐量业务控制和作业追踪第二阶段用户体验和运维便利性自研 HDFS ProxyHDFS Router 改进和开发HDFS Router re...原创 2020-04-02 14:36:00 · 2959 阅读 · 0 评论 -
应用程序在YARN中的整体运行流程和状态机 (NodeManager端)
在上一篇应用程序在YARN中的整体运行流程和状态机 (ResourceManager端)我们详细分析了,应用程序在RM端的状态机变迁,掠过了在NodeManager部分,这篇文章我们详细分析,作业运行流程中在NodeManger上面的状态机变迁。...原创 2019-01-15 16:56:34 · 374 阅读 · 0 评论 -
应用程序在YARN中的整体运行流程和状态机 (ResourceManager端)
1.用户通过Client端的ApplicationClientProtocol协议向ResourceManager的ClientRMService提交作业。 2.当ResourceManger的ClientRMService收到应用程序以后,然后调用RMAppManager的submitApplication函数,然后在RMAppManager的submitApplication函数的函数中创建...原创 2019-01-07 15:22:53 · 678 阅读 · 0 评论 -
Hadoop Yarn延迟调度分析(Delay Schedulering)
大规模集群中,对数据本地化(data loality)的优化,可以减少很多网络IO,变成本地的磁盘IO,而磁盘的IO比网络的IO快很多,这对降低集群的IO负载以及增加集群的吞吐量是很有益处的,所以我对Yarn中的延迟调度进行分析,尝试提高作业中任务所在容器的调度本地化命中率。我们从自带的延迟调度的单元测试入手进行分析:@Testpublic void testDelaySchedul...原创 2018-08-09 10:49:54 · 1058 阅读 · 0 评论 -
Hadoop YARN Node Label
在节点标签(Node Label)出现之前,资源申请方,是无法指定特定节点的资源的,比如需要运行GPU节点,需要有SSD存储的节点等等。应用是无法指定特定节点上面的特定资源的,我们也无法对集群中的各个节点进行分区。节点标签 节点标签的含义就是通过不同的标签,例如:硬件要求软件要求所属的组织结构负载情况类似上述这些要求,每一个都可以作为节点的标签。节点标签的类型节点...翻译 2018-07-06 15:25:02 · 1313 阅读 · 0 评论 -
Hadoop Yarn 3.1.0 源码分析 (01 作业上岸:从提交的节点到RM节点的过程)
引言 为了更全面和更加有意义的分析Hadoop Yarn的源码,我决定从一个作业提交到到作业生命周期结束的角度来分析Yarn的源码。我们将会屏蔽MapReduce部分的过程,因为我们现在的重点是研究Yarn的源码,以后我们单独针对MapReduce的过程以及源码进行分析。分析的版本是最新的 Hadoop 3.1.0版本。 本节,我们主要分析一个作业的上岸的过程,所谓上岸,就说作业从client...原创 2018-07-12 21:41:18 · 824 阅读 · 0 评论 -
Hadoop Yarn 3.1.0 源码分析 (02 作业调度)
在上一节中,我们详细分析了作业是如何上岸的,现在作业 已经到达了RM端,并且交给了 RMAppManager进行继续运转,我们继续跟踪作业是如何在YARN中如何运转。 Server端: ApplicationClientProtocolPBSeriveImpl.submitApplication() -> C原创 2018-07-18 10:43:29 · 1673 阅读 · 3 评论 -
YARN global scheduling (全局调度思想解析)
**YARN全局调度** 本文将对 https://issues.apache.org/jira/browse/YARN-5139 这个yarn前瞻性功能,全局调度的思想进行深入分析。首先了解一下全局调度和现有的调度模式有何区别,以及社区为什么要对全局调度进行研究开发工作,相比于现在的调度模式有何优势。现有的调度模式: 现有的调度模式是基于NM(NodeManager)的...翻译 2018-06-21 10:48:22 · 1490 阅读 · 0 评论 -
Hadoop Yarn (FairScheduler) 多角度核心源码分析01
研究调度器,我们首先要知道调度器的客户是谁,谁需要调度,有以下两种来源: (1)作业提交的时候,申请运行AppMaster需要的容器时 (2)作业运行期间,AppMaster申请运行map以及reduce任务所需要的容器这一节主要分析第一种请求的源码,即申请AppMaster需要的容器时候的整个过程。申请运行AppMaster需要的容器的起源: 当AppMaster运行需要的容器是在RM...原创 2018-06-20 23:24:44 · 1036 阅读 · 1 评论 -
Hadoop Yarn 的基本架构以及工作机制分析
Hadoop Yarn 学习之路01本文目的:在对Hadoop yarn进行源码分析之前,我们首先要搞懂它的基本架构,然后根据它的架构理解它的运作流程和工作机制,本文首先对其架构进行解读,然后分析它的具体工作流程。Yarn 的基本架构Yarn作为Hadoop 2.0的资源管理系统,和Hadoop 1.0不同的是,Yarn把全局的资源管理和应用程序的管理进行了分离。资源管理:Res...原创 2018-04-28 12:00:10 · 327 阅读 · 0 评论 -
Hadoop Yarn大集群(千台以上)长作业pending的问题分析
大集群Hadoop Yarn队列pending优化1.目前公司集群采用的规模越来越大,很多长作业出现了pending的现象。优化方法:调整参数yarn.resourcemanager.nodemanagers.heartbeat-interval-ms ,减小NM和RM之间的心跳周期,通过减少心跳周期,从而增加FairScheduler调度器调度到长作业的机会。原因 1.究其...原创 2018-05-17 12:33:35 · 2472 阅读 · 0 评论