zoukankan      html  css  js  c++  java
  • 从零自学Hadoop(10):Hadoop1.x与Hadoop2.x

    阅读目录

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。

    文章是哥(mephisto)写的,SourceLink

      上一篇,我们使用Maven构建了我的MapReduce程序,并且成功的运行了Job。那么大家可能会觉得为什么要这么做,有没有些理论依据,毕竟对hadoop的功能,特点有了了解后,做事情会心里稍微有点底。所以我们开始补些理论知识。

      下面,我们就开始比较下Hadoop1.x与Hadoop2.x,感受下产品迭代的快乐。

      申明,这一篇幅的图都是网上找的,就不打水印了,做人得厚道。

    里程碑

    一:里程碑

      2003-2004年 Doug Cutting和Mike Cafarella利用业余时间实现了HDFS和MapReduce机制。

      2005年作为Lucene的子项目Nutch正式引入Apache基金会

      2006年MapReduce,NDFS分别被纳入Hadoop项目中

      2010年发布0.20.2:security  append

      2011年12月0.20.线路发布1.0版本

      2012年发布1.04

      2011年10月份发布0.23.0:开始有了Yarn

      2012年3月份发布2.0.0:alpha

      2013年发布2.1.0:beta

      2013年10月发布2.2.0:稳定版。很重要的版本,Yarn,High Availability for HDFS,HDFS Federation,HDFS Snapshots,Support for running Hadoop on Microsoft Windows

      2014年11月发布2.6.0:很重要的版本,比如密钥管理服务器,凭证提供,支持SSD,热插拔DataNode,long running services in YARN,Support for rolling upgrades等。

      2015年4月发布2.7.0:放弃了jdk1.6,不是稳定版,支持支持文件截断,Make YARN authorization pluggable等。

      2015年7月发布2.7.1:2.7线路的稳定版。

      2015年9月23号发布2.6.1:2.6线路的版本,修复了很多bug。

    Hadoop1.x与Hadoop2.x

    一:架构比较

      Hadoop1.x中1的NameNodes只可能有一个,虽然可以通过SecondaryNameNode与NameNode进行数据同步备份,但是总会存在一定的时延,如果NameNode挂掉,但是如果有部份数据还没有同步到SecondaryNameNode上,还是可能会存在着数据丢失的问题。

      Hadoop2.x中,HDFS的变化,主要体现在增强了NameNode的水平扩展及可用性,可以同时部署多个NameNode,这些NameNodes之间是相互独立,也就是说他们不需要相互协调,DataNode同时在所有NameNodes注册,做为他们共有的存储节点,并向定时向所有的这些NameNodes发送心跳块使用情况的报告,并处理所有NameNodes向其发送的指令。

      Hadoop2.x中将MapReduce分成两部门,形成了Yarn(云资源管理系统),从而扩展出很多新的玩法。

    二:定位

      从图中,我们可以看到Hadoop1.x是单一功能使用系统,Hadoop2.x是多用途平台。2.x开始,hadoop的功能增强了许多,可以适合很多地方。

    三:特性:

      Hadoop1.x:批量应用

      Hadoop2.x:批量应用,交互式,实时性,流式,内存计算。

    四:HDFS与HDFS2

      HDFS2多了高可用性。

    五:MapReduce

      Hadoop2.x中将原来1.x中的MapReduce的功能分开了,只保留了数据处理。将集群资源管理放到了Yarn中。从而让2.x的生态圈极大的扩展。

    六:Hadoop2.x中HDFS架构

      图中,我们可以看到一个NameNode(Active)还有一个NameNode(Standby)。这两者中间有JournalNode,放镜像文件,编辑日志文件。使用Zookeeper来保证故障转移,从而实现HA。还具有联邦的功能,

    七:Yarn架构图

      Hadoop发展到了2.6.0,Yarn也有了HA。Yarn把Datanode和应用的执行状态都存在RMStateStore上面。从而具有long running services,Support for rolling upgrades。任务挂了就不用重新跑了。太牛的功能了。

    八:生态应用

      Hadoop1.x其他的生态应用都是基于MapReduce上面的,但是到了Hadoop2.x,他将资源管理的的放到了Yarn,那么其他的生态应用,可以基于MapReduce的计算框架,也可以选择Tez(DAG计算框架),Storm(流式计算框架)。所以使用范围大大的扩展开来。

    --------------------------------------------------------------------

      到此,本章节的内容讲述完毕。

    系列索引

      【源】从零自学Hadoop系列索引

     

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。

    文章是哥(mephisto)写的,SourceLink

  • 相关阅读:
    通过elasticsearch对日志进行搜索热词统计
    登陆获取shell时的配置文件加载过程
    linux共享库加载
    linux安全相关
    ELK常用API使用方法
    linux bash缓存
    redis主从架构及redis集群
    排查电脑的网络问题
    Logstash添加Protobuf解析插件
    Macaca上手体验
  • 原文地址:https://www.cnblogs.com/mephisto/p/4866346.html
Copyright © 2011-2022 走看看