container-executor 详解

简介 container-executor 是NodeManager管理Container很重要的一个工具,是深入学习Yarn作业调度不可缺少的一个知识点,值得深入学习。本文只描述比较基础的功能点(目前不会包含Docker相关)。 核心功能点 checks ......

Capacity调度器源码解析

简介 源码解析 Capacity 调度器的核心类是CapacityScheduler。在初始化CapacityScheduler的时候,在构造函数initAsyncSchedulingProperties,里面会初始化调度器相关。 核心类是AsyncSc ......

router启动详解

简介 为了解决HDFS的水平扩展性问题,社区从Apache Hadoop 0.23.0版本开始引入了HDFS federation。HDFS Federation是指 HDFS集群可同时存在多个NameNode/Namespace,每个Namespace之 ......

hadoop 主备倒换控制器:ZKFailoverController详解

简介 HDFS的NameNode、Yarn的ResourceManager都是依靠ZK实现主备倒换的。核心的类为:ZKFailoverController.java, 选举的核心类为ActiveStandbyElector.java 主备选举 主备选举的核 ......

Hadoop 认证模块详解

客户端认证 客户端的入口函数为 KerberosAuthenticator.authenticate函数 连接HTTP服务端 HttpURLConnection conn = token.openConnection(url, connConfigurat ......

ContainerManager详解

简介 ContainerManager主要负责NM中管理所有Container生命周期,其主要包含启动Container、恢复Container、停止Container等功能。 主要功能由ContainerManagerImpl类实现,具体代码可以参考当前 ......

BPServiceActor详解

简介 BPServiceActor 主要在DataNode中用于和NameNode沟通的类。主要功能如下: 与 namenode 进行预注册握手。 向 namenode 注册。 定期向 namenode 发送心跳。 处理从 namenode 收到的命令。 ......

【Hadoop】jobhistory 作业缓存源码详解

jobhistory 作业缓存 jobhistory 一般会保存一部分作业信息到内存中,查询作业信息的时候一般会从内存查询,如果内存查询不到就会从磁盘上扫描。 jobhistory 缓存一般分为两层,第一层是guava缓存,默认情况下guava的缓存个数是 ......

【Hadoop】NameNode客户端协议详解

NameNode客户端协议详解 协议的定义主要在类NamenodeProtocols中。如下: public interface NamenodeProtocols extends ClientProtocol, DatanodeProtocol, Dat ......

【Hadoop】FSDirectory详解

Namenode最重要的两个功能之一就是维护整个文件系统的目录树(即命名空间namesystem) 。 HDFS文件系统的命名空间(namespace) , 也就是以“/”为根的整个目录树, 是通过FSDirectory类来管理的。 FSNamesyste ......