阅读目录

本文版权归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

从零自学Hadoop(10):Hadoop1.x与Hadoop2.x的更多相关文章

  1. 从零自学Hadoop系列索引

    本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 从零自学Hadoop(01):认识Hadoop ...

  2. 从零自学Hadoop(02):环境准备

    阅读目录 起因 虚拟机 Linux 系统安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceL ...

  3. 从零自学Hadoop(03):Linux准备上

    阅读目录 序 检查列表 常用Linux命令 搭建环境 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sou ...

  4. 从零自学Hadoop(08):第一个MapReduce

    阅读目录 序 数据准备 wordcount Yarn 新建MapReduce 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是 ...

  5. 从零自学Hadoop(09):使用Maven构建Hadoop工程

    阅读目录 序 Maven 安装 构建 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Source ...

  6. 从零自学Hadoop(11):Hadoop命令上

    阅读目录 序 概述 Hadoop Common Commands User Commands Administration Commands File System Shell 引用 系列索引 本文版 ...

  7. 从零自学Hadoop(25):Impala相关操作下

    阅读目录 序 导入数据 查询 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一 ...

  8. 从零自学Hadoop(22):HBase协处理器

    阅读目录 序 介绍 Observer操作 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sour ...

  9. 从零自学Hadoop(20):HBase数据模型相关操作上

    阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...

随机推荐

  1. my SQL下载安装,环境配置,以及密码忘记的解决,以及navicat for mysql下载,安装,测试连接

    一.下载 在百度上搜索"mysql-5.6.24-winx64下载" 二.安装 选择安装路径,我的路径“C:\Soft\mysql-5.6.24-winx64” 三.环境配置 计算 ...

  2. linux驱动开发之块设备学习笔记

    我的博客主要用来存放我的学习笔记,如有侵权,请与我练习,我会立刻删除.学习参考:http://www.cnblogs.com/yuanfang/archive/2010/12/24/1916231.h ...

  3. RadioGroup、RadioButton、CheckBox、Toast用法

    xml布局文件如下: <RadioGroup android:id="@+id/sex" android:layout_width="wrap_content&qu ...

  4. 【Spring-web】RestTemplate源码学习

     2016-12-22   by 安静的下雪天  http://www.cnblogs.com/quiet-snowy-day/p/6210288.html 前言 在Web开发工作中,有一部分开发任务 ...

  5. Java进击C#——语法之基础

    本章简言 上一章讲到关于项目工程开发常用的知识点,有了前面俩章的介绍之后.本章正式开始介绍关于C#的基础语法.我们都很清楚C#也是面向对象的计算机语言.而且他跟JAVA的相似度高达80%.所以很多语法 ...

  6. 9.Configure One-to-One(配置一对一关系)【Code-First系列】

    现在,开始学习怎么配置一对一的关系,众所周知,一对一的关系是:一个表中的主键,在另外一个表中,同时是主键和外键[实际上是一对零或者一对一]. 请注意:一对一的关系,在MS SQL Server中,技术 ...

  7. SqlServer切换MySql总结

    最近项目任务不多就琢磨着把SqlServer换成MySql(数据访问使用的ado.net),初步想了下方案有2种: 方案一:继续使用ado.net,重写所有的sql语句 优势:数据访问效率高,改写Sq ...

  8. IOS学习笔记之获取Plist文件读取数据

    @property(nonatomic,strong) NSArray *pic; //创建数组属性 @property(nonatomic,assign) int index; //创建索引属性 @ ...

  9. 【nodejs笔记3】Express基本用法,和路由控制,和模板渲染ejs

    1. 路由控制的工作原理 //routes/index.js中的代码//访问主页时,调用ejs模板引擎,渲染index.ejs模板文件,生成静态页面,并显示在浏览器中.router.get('/', ...

  10. css实现小三角(原理)

    效果图如图1所示:(简单示范,有点丑,莫介意) PS:兼容IE,FF , chrome ,360安全浏览器 先讲下原理吧,如图2所示: 这个div的样式如下所示: div{ width: 0px; h ...