4 zhifeng687

尚未进行身份认证

暂无相关描述

等级
TA的排名 1k+

yarn3.2源码分析之NM端startContainer的资源本地化机制

概述Container启动过程主要经历三个阶段:资源本地化、启动并运行container、资源回收,其中,资源本地化指创建container工作目录,从HDFS下载运行container所需的各种资源(jar包、可执行文件等)等,而资源回收则是资源本地化的逆过程,它负责清理各种资源。在资源本地化的过程中,相关的组件定义如下:LocalResource:LocalResource代表运行一个...

2019-08-22 17:02:20

yarn3.2源码分析之ResourceManager基于zk的HA机制

概述ResourceManager#serviceInit()方法1、判断是否启动HA。如果yarn.resourcemanager.ha.enabled配置参数为true,则为启动HA。2、如果启动HA,判断是否启用自动失败重启。如果yarn.resourcemanager.ha.automatic-failover.enabled配置参数为true,则为启动自动失败重启。如果启...

2019-08-14 17:46:56

spark2.3源码分析之RDD的persist流程

概述当根据存储级别缓存RDD时,其实是将RDD数据存储到BlockManager的memoryStore和diskStore。memoryStore最终是通过调用UnifiedMemoryManager#acquireStorageMemory()方法分配storagememory,所以缓存RDD到内存使用的是storagememory的内存。cache()方法时最终调用的是persi...

2019-07-31 15:26:09

spark2.3源码分析之ResultTask读取并处理shuffle file的流程(二)

概述大部分maptask与reducetask的执行是在不同的节点上,reduce执行时需要跨节点去拉取其它节点上的ShuffleMapTask结果,那么对集群内部的网络资源消耗会很严重。我们希望最大化地减少不必要的消耗,于是对Shuffle过程的期望有:完整地从maptask端拉取数据到reduce端。 在跨节点拉取数据时,尽可能地减少对带宽的不必要消耗。 减少磁盘I...

2019-07-03 19:56:42

spark2.3源码分析之ResultTask读取并处理shuffle file的流程

ResultTask概述ResultTask执行当前分区的计算,首先从ShuffleMapTask拿到当前partition的数据,会从所有的ShuffleMapTask都拿一遍当前的partition数据。最后合并所有的ResultTask输出结果,返回给driverapplication。成员变量private[spark]classResultTask[T,U](...

2019-06-23 00:13:25

spark2.3源码分析之submitTasks的流程

TaskSchedulerImpl概述不同类型的集群对应于不同的SchedulerBackend:YarnSchedulerBackend、StandaloneSchedulerBackend、LocalSchedulerBackend等。TaskSchedulerImpl为不同的SchedulerBackend处理相同的逻辑,例如决定任务之间的调度顺序等。client端必须先调用Ta...

2019-06-22 13:26:56

spark2.3源码分析之launchTask的流程

CoarseGrainedSchedulerBackend端makeOffers()方法核心流程如下:resourceOffer方法:处理新的executor加入;launchTask方法:构建task//MakefakeresourceoffersonjustoneexecutorprivatedefmakeOffers(executorId:...

2019-06-21 00:45:10

记一次java进程占用内存高,Netty中的buffer一直没被gc的排查

最近发现一个项目在部署到机器上的时候,机器内存一直占用很高。接着开始排查机器内存高的原因1、查找机器上占用内存高的进程psaux|sort-k4nr|head-20查找占用内存高的前20个进程发现前20个进程平均每个进程占用内存3g,总共就占用了60g。每个进程占用内存都很高,是造成机器总体内存高的原因。2、查看进程的内存占用情况以进程号13588为例,使...

2019-05-16 16:48:14

yarn3.2源码分析之NM端startContainer的流程(二)

概述NM端startContainer会经历一系列event:request_resource_localization类型的LocalizerEvent LocalizerTracker是LocalizerEvent的事件处理器。LocalizerTracker根据资源的类型进行资源本地化。资源有3种类型:public、private和application。publicresou...

2019-05-12 00:28:11

yarn3.2源码分析之NM端startContainer的流程

概述NM端启动container会经过一系列event:initApplication类型的ApplicationEvent init_application_resources类型的LocalizationEvent ResourceLocalizationService是LocalizationEvent的事件处理器。在处理init_application_resources类型的...

2019-05-10 17:56:56

yarn3.2源码分析之YarnClient与ResourceManager通信之submitApplication(四)

概述submitApplication会经历的event:launch类型的AMLaucherEventApplicationMasterLauncher处理launch类型的AMLaucherEventResourceManager的内部类RMActiveService为AsyncDispatcher注册AMLauncherEventType类型的处理器——Application...

2019-05-09 18:24:16

yarn3.2源码分析之YarnClient与ResourceManager通信之submitApplication(三)

概述submitApplication会经过一系列Event:app_accepted类型的RMAppEvent start类型的RMAppAttemptEvent appAttemptAdd类型的SchedulerEvent AttemptAdded类型的RMAppAttemptEvent storeAppAttempt类型的RMStateStoreEvent At...

2019-05-09 15:37:18

yarn3.2源码分析之YarnClient与ResourceManager通信之submitApplication(二)

概述submitApplication会经历一系列Event:start类型的RMAppEvent storeApp类型的RMStateStoreEvent newSaved类型的RMAppEvent appAdded类型的SchedulerEvent Accepted类型的RMAppEvent在处理storeApp类型的RMStateStoreEvent过程中,存储app的信...

2019-05-07 18:22:25

yarn3.2源码分析之YarnClient与ResourceManager通信之submitApplication

概述YarnClient通过ApplicationClientProtocol与ResourceManager通信。YarnClient通过它完成向RM提交应用程序、查看应用程序状态、控制应用程序(杀死)等。在ResourceManager中,负责与YarnClient通信的组件是ClientRMService。如果是submitApplication等通信,ClientRMService再转...

2019-04-21 11:22:53

yarn 3.2源码分析之NM端launchContainer事件流程

概述NM端launchcontainer会经历的event:LaunchContainer类型的ContainersLaunchEventyarnapplication会因为container分配失败而导致applicationfailed,以下日志可以大概得知launchcontainer的流程Applicationapplication_1555482591931_0...

2019-04-19 15:32:56

yarn 3.2源码分析之ResourceManager

概述ResourceManager是一系列组件的集合。它会加载core-site.xml和yarn-site.xml,同时创建yarnscheduler、RMAppManager等一系列组件。创建yarnscheduler获取yarn.resourcemanager.scheduler.class配置项,默认是CapacitySchedulerpublicstati...

2019-04-15 18:15:22

yarn3.2 源码分析之FairScheduler连续调度和assignContainer流程

概述FairScheduler分配container的核心调度流程核心调度流程如下:调度器锁住FairScheduler对象,避免核心数据结构冲突。 调度器选取集群的一个节点(node),从树形队列的根节点ROOT开始出发,每层队列都会按照公平策略选择一个子队列,最后在叶子队列按照公平策略选择一个App,为这个App在node上找一块适配的资源。对于每层队列进行如下流程:队列预...

2019-04-15 11:42:46

yarn3.2源码分析之moveApplication事件流程

概述yarn3.2moveApplication事件不再经过中央异步调度器AsyncDispatcher和状态机StateMachineFactory,直接由RMAppManager直接调用scheduler处理moveApplication事件。yarn2.6应用转移到到其它队列的日志yarnapplication移动到其它queue时,queue有maxSharec...

2019-04-12 23:34:25

kafka2.2源码分析之BufferPool

概述BufferPool是缓存给定memory大小的ByteBuffer池。这个类主要应用于Producer的需求。因此,它有以下2个属性:只有符合pooledsize大小的ByteBuffer会被缓存并循环使用。 BufferPool是公平的,内存优先给等待时间最长的线程使用,除非它有充足的内存。它能有效防止线程饥饿和死锁的发生。PooledBufferMemory&a...

2019-04-11 20:48:58

kafka2.2源码分析之KafkaChannel

概述KakfaChannel基本是对SocketChannel的封装,只是这个中间多个一个间接层:TransportLayer,为了封装普通和加密的Channel。TransportLayer子类有PlaintextTransportLayer和SslTransportLayer,分别对应普通和加密的channel。而对于KafkaChannel提供统一的接口,这是策略模式很好的应用。Ka...

2019-03-31 19:45:13

查看更多

CSDN身份
  • 博客专家
勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv2
    勤写标兵Lv2
    授予每个自然周发布4篇到6篇原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。