转自:
http://blog.csdn.net/bxyz1203/article/details/8089318
一、概述
hadoop2的设计细想比hadoop1进步了很多,毕竟hadoop1是几年前的东西了。软件设计的理论在这几年中发展很快,出现了很多的软件设计理论 如:领域驱动模型、事件驱动模型、状生命周期管理等,也出现了很多的开源的解决方案,当然开源的方案很多都是起源apache社区。在hadoop2中,采取了maven的工程管理结构,把以前的单一工程换成了多工程结构模式,现在估计有45个(pom.xml文件的个数)project,以后会不会更多或者合并一些,这个就要持续关注hadoop开源社区的发展了。当然project也不是越多越好,我见过的最多的包工程有几百个,eclipse刷新的时候就需要几个小时,这个对于开发效能是一个极大的挑战。一般的项目的project个数大约在10个左右。hadoop大约有45个,我感觉有点多,当然hadoop2把project合理的分层了,这个确实是非常清晰的。
关于多个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,在计算中,也就是这两大守护进程了。
分享到:
相关推荐
完整的Hadoop jar包,解压直接用。
docker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop资源包.txtdocker部署hadoop...
java项目Hadoop依赖包,包含MapReduce、hdfs。
适合Hadoop初学者安装Hadoop
Hadoop-2.7.2源码及编译jar包.zip,包含 Apache Hadoop 源码包、编译后的 Win7、Win10、以及 Linux 包。 Hadoop-2.7.2源码及编译jar包.zip,包含 Apache Hadoop 源码包、编译后的 Win7、Win10、以及 Linux 包。 ...
Hadoop工具包 Hadoop工具包 Hadoop工具包 Hadoop工具包 Hadoop工具包
该压缩包是在官方包的基础上进行修改的,将Windows运行hadoop所需配置文件和部分插件已经导入,电脑只需安装64位java环境,修改hadoop-env.cmd配置即可使用
Hadoop平台中的HDFS文件存储结构
hadoop2.X新特性介绍
有时候在eclipse上运行项目,需要引用的Hadoop的jar包,也就是hadoop的外部依赖包,有conf,fs,io,mapreduce等等,这里列举了一部分,基本上hadoop的所有外部依赖jar包都包含在内了,如果下载了不会使用,可以看我...
hadoop知识结构图 hadoop知识结构图 hadoop知识结构图 hadoop知识结构图
hadoop2.x 介绍,及对比hadoop1.x的区别。hadoop2.x的新特性的详细介绍。
hadoop的share包,可以看看里面的东西,有些核心包和具体实例
使用ecplice操作hadoop所需要的各种jar包。包括hdfs,maprudce,yarn,httpfs,kms。
Hadoop生态圈介绍及入门
Hadoop工具包 Hadoop工具包 Hadoop工具包 Hadoop工具包 Hadoop工具包
hadoop2.8.1+eclipse+hadoop+winutils编译包 直接放到hadoop安装目录下的bin文件下
hadoop-2.7.3.tar.gz 下载 目前相对比较稳定的版本 hadoop tar 包下载hadoop-2.7.3.tar.gz 下载 hadoop tar 包下载
hadoop基本内容介绍及使用,主要介绍HADOOP的原理及应用与配置
Hadoop-2.6.4源码包。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。。