Hadoop 2.7.1 源代码目录结构分析
采用的源代码是2.7.1的,从这个网站下可以找到2.7.1的代码:https://git1-us-west.apache.org/ ,使用gitclone出来,然后git checkout到2.7.1的分支上:
整个hadoop项目包括了几十个文件目录,每一个目录一般都是一个Maven工程,这些maven工程之间存在依赖关系:
其中,Apache Hadoop Main是所有工程的父工程,它的pom.xml文件如下:
可以看到,pom.xml文件中的packaging标签为pom类型。
Apache Hadoop Project依赖于Apache Hadoop Main:
Apache Hadoop Project Dist 依赖于Apache Hadoop Project:
通过这种方式可以随时查看每一个工程之间的依赖关系。
从宏观上,可以将Apache Hadoop Main项目的目录结构一层、一层展开,看到项目之间的依赖关系: