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

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

2019-04-21 11:22:53

阅读数 10

评论数 0

yarn 3.2源码分析之ContainerManager与ApplicationMaster启动

概述 有时候,yarn application会因为container分配失败而导致application failed Application application_1555482591931_0853 failed 2 times due to AM Container for app...

2019-04-19 15:32:56

阅读数 15

评论数 0

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

概述 当我们执行yarn命令:yarn container -status container_e156_1555482591931_0853_02_000001 底层的执行流程如下: Exception in thread "main" org.apache.hado...

2019-04-19 15:12:16

阅读数 14

评论数 0

yarn3.2源码分析之FairScheduler

allocate()分配资源 @Override public Allocation allocate(ApplicationAttemptId appAttemptId, List<ResourceRequest> ask, List&l...

2019-04-16 18:02:08

阅读数 15

评论数 0

yarn 3.2源码分析之ResourceManager

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

2019-04-15 18:15:22

阅读数 12

评论数 0

yarn3.2 FairScheduler源码分析之FSLeafQueue

获取当前正在运行的应用数:Num active applications @Override public int getNumRunnableApps() { readLock.lock(); try { return runnableApps.size();...

2019-04-15 11:42:46

阅读数 7

评论数 0

yarn3.2 FairScheduler源码分析之moveApplication

yarn application移动到其它queue时,queue有maxShare constraints限制 Caused by: org.apache.hadoop.yarn.exceptions.YarnException: Moving app attempt appattempt_...

2019-04-12 23:34:25

阅读数 11

评论数 0

kafka2.2源码分析之BufferPool

概述 BufferPool是缓存给定memory大小的ByteBuffer池。这个类主要应用于Producer的需求。因此,它有以下2个属性: 只有符合pooled size大小的ByteBuffer会被缓存并循环使用。 BufferPool是公平的,内存优先给等待时间最长的线程使用,除非...

2019-04-11 20:48:58

阅读数 9

评论数 0

kafka2.1源码分析之KafkaChannel

概述 KakfaChannel基本是对SocketChannel的封装,只是这个中间多个一个间接层:TransportLayer,为了封装普通和加密的Channel。TransportLayer子类有PlaintextTransportLayer和SslTransportLayer,分别对应普通...

2019-03-31 19:45:13

阅读数 24

评论数 0

hadoop-yarn2.7源码分析之ApplicationMaster与ResourceManager.ApplicationMasterService通信过程

概述 ApplicationMaster与ResourceManager之间通信主要有以下三个步骤: 1).ApplicationMaster通过rpc向ResourceManager注册。ApplicationMaster启动时,首先向ResourceManager注册,注册消息封装到 Pro...

2019-02-18 15:03:17

阅读数 77

评论数 0

hadoop-common2.7源码分析之ProtobufRpcEngine(RPC实现)

概述 ProtobufRpcEngine是在RPC通信过程中,使用ptotobuf作为数据交换格式的RPC实现类。 对ProtobufRpcEngine的源码分析将围绕RPC概念模型展开。 RPC概念模型  RPC调用流程如下: RPC 服务端通过 RpcServer 去导出(exp...

2019-02-13 23:42:11

阅读数 62

评论数 0

hadoop 2.7源码分析之RecordFactory

概述 hadoop使用了protobuf作为默认的数据交换格式,但是hadoop也实现了插拔机制,允许用户使用其它的格式,如thrift等。所以,hadoop在制定接口和实现基于protobuf的底层模块时,使用了抽象工厂模式,并使用java反射对抽象工厂模式加以优化。 抽象工厂模式 抽象工...

2019-02-01 17:19:20

阅读数 52

评论数 0

java NIO 之ServerSocketChannel源码分析

ServerSocketChannel的使用示例如下: //1. 获取服务端通道 ServerSocketChannel ssChannel = ServerSocketChannel.open(); ssChannel.bind(new InetSocketA...

2019-01-01 19:28:49

阅读数 126

评论数 0

spark 2.3源码分析之ShuffleDependency

ShuffleDependency 成员变量 - ShuffleHandle 在ShuffleDependency中创建ShuffleHandle. 如前面的博客所述,有以下三种ShuffleHandle: BypassMergeSortShuffleHandle BypassMer...

2018-09-04 15:50:13

阅读数 232

评论数 0

spark2.3源码分析之in-memory collection

AppendOnlyMap 概述 一个只可以添加数据的hash table的实现。它的key值永远不会删除,而每个key的value值可能会改变。 该hash table使用开放探测方法中的二次探测法保存数据,所以内部只有一个数组的数据结构。 该hash table的大小始终为2的幂次方,...

2018-08-20 16:31:27

阅读数 183

评论数 0

spark 2.3源码分析之SortShuffleWriter

SortShuffleWriter 概述 SortShuffleWriter它主要是判断在Map端是否需要本地进行combine操作。如果需要聚合,则使用PartitionedAppendOnlyMap;如果不进行combine操作,则使用PartitionedPairBuffer添加数据存放...

2018-08-20 16:30:54

阅读数 179

评论数 0

spark 2.3源码分析之ShuffleInMemorySorter

  PackedRecordPointer 概述 PackedRecordPointer对象用一个64bit的long型变量来记录record信息: [24 bit partition number][13 bit memory page number][27 bit offset in ...

2018-08-14 11:26:15

阅读数 177

评论数 0

spark源码分析之ShuffleExternalSorter

概述 ShuffleExternalSorter是专门用于sort-based shuffle的external sorter。 传入的record会被追加到data page。当所有的record都已经插入该sorter时,或者当前线程的shuffle memory已经到达阈值时,会使用Sh...

2018-08-09 10:56:29

阅读数 278

评论数 0

spark源码分析之UnsafeShuffleWriter

概述  SortShuffleManager会判断在满足以下条件时调用UnsafeShuffleWriter,否则降级为使用SortShuffleWriter: Serializer支持relocation。Serializer支持relocation是指,Serializer可以对已经序列化...

2018-08-06 15:22:07

阅读数 403

评论数 0

spark源码分析之BypassMergeSortShuffleWriter

概述 spark1.6以后,取消了基于hash的shuffle,只剩下基于sort的shuffle。现在只存在以下三种shuffle writer: BypassMergeSortShuffleWriter UnsafeShuffleWriter SortShuffleWriter 其中,...

2018-08-06 11:56:12

阅读数 450

评论数 1

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