设为首页 收藏本站
查看: 649|回复: 0

[经验分享] Hadoop2源码分析-Hadoop V2初识

[复制链接]

尚未签到

发表于 2015-7-11 11:11:24 | 显示全部楼层 |阅读模式
1.概述
  在完成分析Hadoop2源码的准备工作后,我们进入到后续的源码学习阶段。本篇博客给大家分享,让大家对Hadoop V2有个初步认识,博客的目录内容如下所示:

  • Hadoop的渊源
  • Hadoop V2部分项目图
  • 各个包的功能介绍
  本篇文章的源码是基于Hadoop-2.6.0来分析,其他版本的Hadoop的源码可以此作为参考分析。
2.Hadoop的渊源
  其实,早年Google的核心竞争力是它的计算平台,Google对外公布的论文有一下内容:




  • GoogleCluster




  • Chubby




  • GFS
  • BigTable



  •   MapReduce
  可见MapReduce并不是Hadoop所独有的功能,之后Apache基金会得到类似的项目,这些项目有隶属于Hadoop项目,分别是:

  • ZooKeeper(Chubby)
  • HDFS(GFS)
  • HBase(BigTable)
  • MapReduce(Hadoop 这里是HDFS和MapReduce的统称)
  类似于这种思想的开源项目还有很多,如:Yahoo用Pig来处理巨大数据,Facebook用Hive来进行用户行为分析等。Hadoop的两大核心功能分别为HDFS和MapReduce,MapReduce是一个适合做离线计算的框架,它依赖于HDFS,HDFS作为一个分布式文件存储系统,是所有这些项目的基础支撑。下图为HDFS的支撑图,如下图所示:
DSC0000.png
3.Hadoop V2部分项目图
  Hadoop包与包之间依赖的关系较为复杂,究其原因为HDFS提供了一个分布式文件存储系统,该系统提供庞大的API,使得分布式文件系统底层的实现,依赖于某些高层的功能,这些功能互相引用,形成网状的依赖关系。举个例子,如conf包,它用于读取系统配置文件,依赖于fs包,主要是读取相应的配置文件时,需要使用到文件系统,而部分文件系统的功能都被抽象在fs包中。下图时Hadoop V2项目的核心部分依赖包,如下图所示:
DSC0001.png
  后面的章节,主要给大家分享以下几个部分,如:mapreduce,fs,hdfs,ipc,io,yarn。
4.各个包的功能介绍
  下面对上图列出来的各个包做下介绍说明,各个包的功能如下所示:

  • tools:提供命令行工具,如DistCp,archive等等。
  • mapreduce v2:Hadoop V2版本对Map/Reduce的实现。
  • filecache:让HDFS拥有本地缓存,以便加快MR的数据访问速度。
  • hdfs v2:Hadoop V2的分布式文件系统实现。
  • fs:文件系统的抽象包,为支持多种文件系统(有可能还有其他的文件系统)规范统一的文件访问接口。
  • ipc:依赖 io 提供的编码和解码功能。
  • io:编码和解码数据,以便在网络中传输。
  • net:对网络功能进行封装,如Socket。
  • conf:配置系统的参数。
  • util:工具类。
  • ha:配置高可用的集群,使集群拥有两个NameNode(active和standby)。
  • yarn:Hadoop V2 版本新添加的特性,用于资源调度和管理。
5.总结
  Hadoop V2在底层设计上对比Hadoop V1是有区别的,新增HA,使得Hadoop V1中存在的单点问题得到了很好得解决;Hadoop V2新增Yarn系统,使得集群得资源管理和调度更加得完美,大大减少ResourceManager的资源消耗,并且让监测每一个 Job 子任务 (tasks) 状态的程序分布式化了,更安全、更优美。同时,使得多种计算框架可以运行在一个集群中。
6.结束语
  这篇文章就和大家分享到这里,如果大家在研究和学习的过程中有什么疑问,可以加群进行讨论或发送邮件给我,我会尽我所能为您解答,与君共勉!

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-85494-1-1.html 上篇帖子: Hadoop示例程序WordCount详解及实例 下篇帖子: Hadoop学习笔记(一)之示例程序:计算每年的最高温度MaxTemperature
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表