自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 收藏
  • 关注

原创 趣头条百PB规模 Hadoop实践(HDFS篇)

趣头条HDFS实践技术背景第一阶段NameNode负载和扩展性问题拆RPC端口以及拆NameSpace组成FederationBalancer负载转移和搬迁优化拆分日志相关的NameSpace降低负载NameNode拥塞控制异步化各种操作提高NameNode的吞吐量业务控制和作业追踪第二阶段用户体验和运维便利性自研 HDFS ProxyHDFS Router 改进和开发HDFS Router re...

2020-04-02 14:36:00 3009

原创 深入理解YARN全局调度和源码分析

深入理解YARN全局调度和源码分析背景原始的心跳调度模式全局调度的调度模式全局调度反客为主全局调度并发判断基于Capacity Scheduler的全局调度源码分析集群资源生产过程源码分析集群资源消费过程源码分析背景之前写了一篇文章介绍了全局调度思想 YARN global scheduling (全局调度思想解析)。本文将对全局调度YARN的实现做全面的深入分析和源码解析。全局调度在未来,混合异构等计算集群,和存储计算分离大趋势下,是一个非常重要的特性。原始的心跳调度模式如上图所示,调度选择过程

2020-05-29 18:36:49 1771 5

原创 HDFS 读写分离 (源码分析1 :支持从Standby Namenode读)

背景读写分离架构篇HDFS 读写分离(总体架构介绍),我们综述了需要怎么实现读写分离。我们深入了解了社区现在正在实现和完善的方式,就是支持从Standby Namenode(SBN)进行读,而从Active Namenode(ANN)进行写,从而实现HDFS的读写分离,提高NameNode整体的读写性能和吞吐量。而从本章开始,我们就从源码的角度对其实现进行分析和研究。本篇为源码分析的第一篇,介...

2019-11-22 23:36:30 1451

原创 HDFS 读写分离(总体架构介绍)

为什么HDFS需要读写分离当前架构:目前HDFS在HA模式下的架构图如如下:HA同步机制简单介绍:客户端读写都通过RPC连接Active Namenode进行操作,Standby Namenode不具有读写的功能只负责同步操作记录(Editlog)。Editlog是Active Namenode通过RPC写到由PAXOS协议实现的一组Journalnode,然后Standby Namen...

2019-11-13 23:36:10 1609 2

原创 应用程序在YARN中的整体运行流程和状态机 (NodeManager端)

在上一篇应用程序在YARN中的整体运行流程和状态机 (ResourceManager端)我们详细分析了,应用程序在RM端的状态机变迁,掠过了在NodeManager部分,这篇文章我们详细分析,作业运行流程中在NodeManger上面的状态机变迁。...

2019-01-15 16:56:34 384

原创 应用程序在YARN中的整体运行流程和状态机 (ResourceManager端)

1.用户通过Client端的ApplicationClientProtocol协议向ResourceManager的ClientRMService提交作业。 2.当ResourceManger的ClientRMService收到应用程序以后,然后调用RMAppManager的submitApplication函数,然后在RMAppManager的submitApplication函数的函数中创建...

2019-01-07 15:22:53 698

原创 MapReduce作业的map任务个数(split)如何确定

MapReduce作业map任务的个数是根据输入文件的分片(split)个数决定的,一个split对应一个map任务。这个个数是在作业提交到RM之前就确定了,我们以hadoop 3.1.0版本为例,深入源码看一下:Job.submit() -> JobSubmitter.submitJobInternal() -> writeSplits() -> writeNewSplit...

2018-10-26 16:51:18 3467

原创 Hadoop Yarn 3.1.0 源码分析 (03 容器分配和投运)

接下来我们看容器的分配和在NM节点上的投运过程,接着上一篇: FairScheduler.handle() -> FairScheduler.nodeUpdate() -> FairScheduler.attemptScheduling() -> queueMgr.getRootQueue().assignContainer():public Resource assi...

2018-08-15 10:59:58 1069

原创 Hadoop Yarn延迟调度分析(Delay Schedulering)

大规模集群中,对数据本地化(data loality)的优化,可以减少很多网络IO,变成本地的磁盘IO,而磁盘的IO比网络的IO快很多,这对降低集群的IO负载以及增加集群的吞吐量是很有益处的,所以我对Yarn中的延迟调度进行分析,尝试提高作业中任务所在容器的调度本地化命中率。我们从自带的延迟调度的单元测试入手进行分析:@Testpublic void testDelaySchedul...

2018-08-09 10:49:54 1086

原创 Hadoop Yarn 3.1.0 源码分析 (02 作业调度)

在上一节中,我们详细分析了作业是如何上岸的,现在作业 已经到达了RM端,并且交给了 RMAppManager进行继续运转,我们继续跟踪作业是如何在YARN中如何运转。 Server端: ApplicationClientProtocolPBSeriveImpl.submitApplication() -> C

2018-07-18 10:43:29 1694 3

原创 Hadoop Yarn 3.1.0 源码分析 (01 作业上岸:从提交的节点到RM节点的过程)

引言 为了更全面和更加有意义的分析Hadoop Yarn的源码,我决定从一个作业提交到到作业生命周期结束的角度来分析Yarn的源码。我们将会屏蔽MapReduce部分的过程,因为我们现在的重点是研究Yarn的源码,以后我们单独针对MapReduce的过程以及源码进行分析。分析的版本是最新的 Hadoop 3.1.0版本。 本节,我们主要分析一个作业的上岸的过程,所谓上岸,就说作业从client...

2018-07-12 21:41:18 830

翻译 Hadoop YARN Node Label

在节点标签(Node Label)出现之前,资源申请方,是无法指定特定节点的资源的,比如需要运行GPU节点,需要有SSD存储的节点等等。应用是无法指定特定节点上面的特定资源的,我们也无法对集群中的各个节点进行分区。节点标签 节点标签的含义就是通过不同的标签,例如:硬件要求软件要求所属的组织结构负载情况类似上述这些要求,每一个都可以作为节点的标签。节点标签的类型节点...

2018-07-06 15:25:02 1327

翻译 YARN global scheduling (全局调度思想解析)

**YARN全局调度** 本文将对 https://issues.apache.org/jira/browse/YARN-5139 这个yarn前瞻性功能,全局调度的思想进行深入分析。首先了解一下全局调度和现有的调度模式有何区别,以及社区为什么要对全局调度进行研究开发工作,相比于现在的调度模式有何优势。现有的调度模式: 现有的调度模式是基于NM(NodeManager)的...

2018-06-21 10:48:22 1533

原创 Hadoop Yarn (FairScheduler) 多角度核心源码分析01

研究调度器,我们首先要知道调度器的客户是谁,谁需要调度,有以下两种来源: (1)作业提交的时候,申请运行AppMaster需要的容器时 (2)作业运行期间,AppMaster申请运行map以及reduce任务所需要的容器这一节主要分析第一种请求的源码,即申请AppMaster需要的容器时候的整个过程。申请运行AppMaster需要的容器的起源: 当AppMaster运行需要的容器是在RM...

2018-06-20 23:24:44 1056 1

原创 Hadoop Yarn (FairScheduler) 多角度核心源码分析02

调度器是Hadoop Yarn Master/Slave结构中作为Master的ResourceManager(RM)中的核心部件,负责对各种资源请求进行调度,目支持的资源是内存(Memory)和CPU,目前Yarn支持的调度器主要有FifoScheduler,CapacityScheduler以及FairScheduler这三种,而我们公司采用了FairScheduler,下面就对FairSch...

2018-06-04 10:23:14 703

原创 Hadoop Yarn大集群(千台以上)长作业pending的问题分析

大集群Hadoop Yarn队列pending优化1.目前公司集群采用的规模越来越大,很多长作业出现了pending的现象。优化方法:调整参数yarn.resourcemanager.nodemanagers.heartbeat-interval-ms ,减小NM和RM之间的心跳周期,通过减少心跳周期,从而增加FairScheduler调度器调度到长作业的机会。原因 1.究其...

2018-05-17 12:33:35 2522

原创 Hadoop Yarn 的基本架构以及工作机制分析

Hadoop Yarn 学习之路01本文目的:在对Hadoop yarn进行源码分析之前,我们首先要搞懂它的基本架构,然后根据它的架构理解它的运作流程和工作机制,本文首先对其架构进行解读,然后分析它的具体工作流程。Yarn 的基本架构Yarn作为Hadoop 2.0的资源管理系统,和Hadoop 1.0不同的是,Yarn把全局的资源管理和应用程序的管理进行了分离。资源管理:Res...

2018-04-28 12:00:10 336

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除