从零自学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(流式计算框架)。所以使用范围大大的扩展开来。
--------------------------------------------------------------------
到此,本章节的内容讲述完毕。
系列索引
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作。
文章是哥(mephisto)写的,SourceLink
从零自学Hadoop(10):Hadoop1.x与Hadoop2.x的更多相关文章
- 从零自学Hadoop系列索引
本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 从零自学Hadoop(01):认识Hadoop ...
- 从零自学Hadoop(02):环境准备
阅读目录 起因 虚拟机 Linux 系统安装 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceL ...
- 从零自学Hadoop(03):Linux准备上
阅读目录 序 检查列表 常用Linux命令 搭建环境 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sou ...
- 从零自学Hadoop(08):第一个MapReduce
阅读目录 序 数据准备 wordcount Yarn 新建MapReduce 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是 ...
- 从零自学Hadoop(09):使用Maven构建Hadoop工程
阅读目录 序 Maven 安装 构建 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Source ...
- 从零自学Hadoop(11):Hadoop命令上
阅读目录 序 概述 Hadoop Common Commands User Commands Administration Commands File System Shell 引用 系列索引 本文版 ...
- 从零自学Hadoop(25):Impala相关操作下
阅读目录 序 导入数据 查询 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 上一 ...
- 从零自学Hadoop(22):HBase协处理器
阅读目录 序 介绍 Observer操作 示例下载 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,Sour ...
- 从零自学Hadoop(20):HBase数据模型相关操作上
阅读目录 序 介绍 命名空间 表 系列索引 本文版权归mephisto和博客园共有,欢迎转载,但须保留此段声明,并给出原文链接,谢谢合作. 文章是哥(mephisto)写的,SourceLink 序 ...
随机推荐
- 多个Activity相互调用和Intent
MainActivity.java和OtherActivity.java的相互调用 首先MainActivity.java是Android程序自带的,新建一个类OtherActiviy extends ...
- ApiController使用Session验证出现Null解决方案
问题描述 在服务端保存登录信息,出现异常信息 分析发现HttpContext.Current.Session为null 解决方案 执行时出报异常,要在Global.asax里添加:开启Session功 ...
- 【Python实战】Pandas:让你像写SQL一样做数据分析(一)
1. 引言 Pandas是一个开源的Python数据分析库.Pandas把结构化数据分为了三类: Series,1维序列,可视作为没有column名的.只有一个column的DataFrame: Da ...
- CSS魔法堂:重拾Border之——解构Border
前言 当CSS3推出border-radius属性时我们是那么欣喜若狂啊,一想到终于不用再添加额外元素来模拟圆角了,但发现border-radius还分水平半径和垂直半径,然后又发现border-t ...
- iOS中获取cell中webview的内容尺寸
最近项目中遇到在cell中获取webView的内容的尺寸的需求 实现的思路其实很简单 就是通过执行js 获取尺寸即可 为了后面用着方便我直接封装了一个HTML的cell 起名就叫 STHTMLBase ...
- C# 文件下载 : WebClient
最近更新了一个下载小工具,主要提升了下面几点: 1. 在一些分公司的局域网中,连接不上外网 2. 服务器上的文件更新后,下载到的还是更新前的文件 3. 没有下载进度提示 4. 不能终止下载 下面和大家 ...
- 【WCF】WCF中的InstanceContext与ConcurrencyMode【转】
一.前言 最近忙于公司的在线升级项目,一个人要负责公司四大产品的在线升级,这四个产品是在Revit中以插件形式存在的,目前基于WCF来实现.等客户总量突破5万了,再重新用socket实现. 由于有服务 ...
- [译]Godot系列教程二 - 场景实例化(Instancing)
场景实例化(Instancing) 原理阐述 创建一个场景并将节点扔到里面对于小项目是适用的,但随着项目不断发展,用到越来越多的节点,整个项目很快就会演化成难以管理的状态. 为了解决这个问题,Godo ...
- JQuery的ajax
JQuery-AJAX: jQuery load() 方法是简单但强大的 AJAX 方法. $(selector).load(URL,data,callback);(这三个参数可以随意设置几个) @ ...
- Atitit.异常处理 嵌套 冗长的解决方案
Atitit.异常处理 嵌套 冗长的解决方案 1. 异常处理的需要改进的地方1 2. +异常设计的初衷是, 在程序中出现错误时, 由程序自己处理错误, 尽量不要以exit(0)这种粗暴的方式中止程序 ...


