hadoop源码学习之路-01

Hadoop源码学习------jar包解析

1 :下载源码包

hadoop官网

2、解压源码包:

3、目录结构:

hadoop源码学习之路-01

hadoop-common-project:Hadoop基础库所在目录,如RPC、Metrics、Counter等。包含了其它所有模块可能会用到的基础库。

hadoop-mapreduce-project:MapReduce框架的实现,在第一代MR即MRv1中,MapReduce由编程模型(map/reduce)、调度系统(JobTracker和TaskTracker)和数据处理引擎(MapTask和ReduceTask)等模块组成,而MRv2的资源调度功能由新增的YARN完成。其它两个不变,自身仅包含非常简单的任务分配功能。

hadoop-hdfs-project:Hadoop分布式文件系统实现,Hadoop1.0中是单个NameNode实现,而Hadoop2.0支持多NameNode,同时解决了NameNode单节点故障

hadoop-yarn-project:Hadoop资源管理系统YARN实现。该系统能够统一管理系统中的资源,并按照一定的策略分配给各个应用进程。

Hadoop2.0新增分支YARN的hadoop-yarn-project目录:

hadoop-yarn-api:YARN API,给出了YARN内容涉及的4个主要RPC协议的JAVA声明和Protocol Buffers定义。这四个RPC分别是ApplicationClientProtocol、ApplicationMasterProtocol、ContainerManagementProtocol和ResourceManagerAdministrationProtocol。

hadoop-yarn-common:YARN Common,包含了YARN底层库实现,包括事件库、服务库、状态库、Web界面库等。

hadoop-yarn-applications:YARN Applications,包括两个Application编程实例,分别是distributedshell和Unmanaged AM。

hadoop-yarn-client:YARN Client,封装了几个与YARN RPC协议交互相关的库,方便用户开发应用程序。

hadoop-yarn-server:YARN Server,给出了YARN的核心实现,包括ResourceManager、NodeManager、资源管理器等核心组件的实现