宝玛科技网
您的当前位置:首页hadoop2包结构及包功能大致介绍

hadoop2包结构及包功能大致介绍

来源:宝玛科技网


关于多个project的好处,我认为主要是:其一project之间的依赖的关系是单向的,包之间的功能是隔离的,这个不同于package,package是可以互相依赖的,对于隔离主要看设计者;其二就是管理方便,开发方便。

二、hadoop2工程分析

我们接下来对release-2.0.0-alpha分析,源码来自:http://svn.apache.org/repos/asf/hadoop/common/tags/release-2.0.0-alpha,其他的一些版本包会有一些变化。

分析的工具是:structure101,可以google看下。

第一层:hadoop主要有四部分:hadoop-common-project、hadoop-hdfs-project、hadoop-mapreduce、hadoop-tools。他们之间的依赖关系如下图1所示:

图1

每部分的功能从名称就看得出来,这样的依赖关系很清晰。我们将从低往上去看下依赖关系。

第二层:图2展示了第二层的结构。

图2

我们可以看出四个包的下属工程,其中hadoop-mapreduce的工程hadoop-yarn有一个向上依赖hadoop-mapreduce-client 依赖是pom.xml的scope为test的依赖。我认为这个也是不对的,应该是去掉。 tools工程下面的子工程互相之间是的,因为他们都是工程包。

第三层:我们再看下其中hadoop-yarn与hadoop-mapreduce-client,如图3所示:

图3

我们看到hadoop-yarn还是很清楚的。对于hadoop-mapreduce-client有6个project不过还是比较清楚。

第四层:看下 hadoop-yarn-server下属的包,建图4

图4

在此图中,我们看到了 hadoop-yarn-server-namemanger及hadoop-yarn-server-resourcemanager,在计算中,也就是这两大守护进程了。

显示全文