转载文章——Hadoop学习
转载地址:http://www.iteye.com/blogs/subjects/zy19982004?page=2
一.Hadoop社区版和发行版
- 社区版:我们把Apache社区一直开发的Hadoop称为社区版。简单的说就是Apache Hadoophttp://hadoop.apache.org/
- 发行版:基于Apache Hadoop的基础上进行商业改造的解决方案,包含一系列定制的管理工具和软件。
二.Hadoop社区版版本号
一直以来,Hadoop的版本号一直困扰着广大Hadoop爱好者,各版本层出不穷。如果你想使用Apache Hadoop,你必须知道自己要使用哪个版本的Hadoop,搞清楚Hadoop版本号就尤为重要了。

三.Hadoop发行版
- Cloudera
- 2009年开始Hadoop,Lutch,Lucene,Solr创始人Doug Cutting任职于Cloudera公司。
- Cloudera的主要产品是Cloudera Manager(CDH)。
- CDH3基于Apache Hadoop 0.20.2(简单理解为Apche Hadoop 1);CDH4基于Apache Hadoop 0.20.3(简单理解为Apche Hadoop 2),但是它采用新的MapReduce2.0,即Yarm。
- Hortonworks
- Hortonworks 2011年成立,由Yahoo于硅谷风投公司Benchmark Capital组成。公司成立的时候吸纳了许多原来在Yahoo工作的Hadoop工程师,Apache Hadoop社区70%的代码是雅虎工程师贡献的。2006年开始Doug Cutting任职于Yahoo公司。
- Hortonworks的主要产品是Hortonworks Data Platform(HDP)。
- HDP主要基于Apache Hadoop 1。
- MapR
- 用自己的新架构重写Hadoop,提供和Apache Hadoop相同的API。
- NameNode默认存储三份,不存在NameNode单点故障Single Point Of Failure(SPOF)。
- IBM
- 华为
- 网络,PC,虚拟化方面的硬件实力。
- Intel
- Intel的发行版最先进入中国市场。
- 提供全面的硬件解决方案,针对硬件的性能优化。
四.你也可以阅读以下文档
- hadoop版本总结http://dijunzheng2008.blog.163.com/blog/static/98959897201210171340254/
- 关于Apache Hadoop 1.0 http://f.dataguru.cn/thread-23223-1-1.html
- 突破社区版Hadoop各商业发行版比较 http://cloud.chinabyte.com/news/206/12446706.shtml
- 如何选择不同的Hadoop发行版 http://www.searchbi.com.cn/showcontent_70957.htm
一.Hadoop来历
- 2004年12月。Google发表了MapReduce论文,MapReduce允许跨服务器集群,运行超大规模并行计算。Doug Cutting意识到可以用MapReduce来解决Lucene的扩展问题。
- Google发表了GFS论文。
- Doug Cutting根据GFS和MapReduce的思想创建了开源Hadoop框架。
- 2006年1月,Doug Cutting加入Yahoo,领导Hadoop的开发。
- Doug Cutting任职于Cloudera公司。
- 2009年7月,Doug Cutting当选为Apache软件基金会董事,2010年9月,当选为chairman。
- 各大企业开发自己的发行版,并为Apache Hadoop贡献代码。
二.Google-->Apache
- Chubby-->ZooKeeper
- GFS-->HDFS
- BigTable-->HBase
- MapReduce-->MapReduce
三.Google论文
- GFShttp://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/de//archive/gfs-sosp2003.pdf
- BigTable http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/zh-CN//archive/bigtable-osdi06.pdf
- MapReduce http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/zh-CN//archive/mapreduce-osdi04.pdf
四.你也可以阅读一下文档
- Wiki Doug Cutting http://en.wikipedia.org/wiki/Doug_Cutting
- Hadoop源代码分析一 http://caibinbupt.iteye.com/blog/262412
一.NameNode物理文件夹

二.DataNode物理文件夹

一.NameNode概述
- NameNode存放了所有文件和文件夹的元数据信息
- 内存中:在系统启动时,会把fsimage和editlog记录的元数据信息加装到内存中;在系统启动时,NameNode收集DataNode心跳,在内存中形成file->blocks的对应关系。
- 硬盘上:操作日志以fsimage和editlog的形式持久化在硬盘上。
- NameNode分类
- NameNode,Secondary NameNode。
- NameNode,Checkpoint Node,Backup NameNode。
二.fsimage editLog
- editLog:客户端对文件系统每次读写等操作时,元数据节点首先修改内存中的数据结构,然后记录到editlog中。
- fsimage:二进制文件;当editlog达到一定量(fs.checkpoint.size)或者距离上次归并到fsimage达到一定时间(fs.checkpoint.period)时, editlog会被归并到fsimage中。此过程被称为checkpoint。另外一个checkpoint的时间是NameNode启动时。
三.NameNode + Secondary NameNode
- Secondary NameNode通知NameNode准备chekpoint。
- NameNode产生edits.new,用来接受checkpoint过程中的editlog。
- Secondary NameNode通过http get方式获取NameNode的fsimage与editlog。
- Secondary NameNode开始合并获取的上述两个文件,产生一个新的fsimage文件fsimage.ckpt。
- Secondary NameNode用http post方式发送fsimage.ckpt至NameNode。
- NameNode将fsimage.ckpt与edits.new文件分别重命名为fsimage与edits,然后更新fstime,整个checkpoint过程到此结束。

四.NameNode + Checkpiont NameNode + Backup NameNode
- 在Hadoop 0.21.0中,Secondary NameNode被Checkpoint NameNode和Backup NameNode取代。
- Checkpoint NameNode功能同Secondary NameNode,主要作用是合并元数据。
- Backup NameNode:NameNode实时主动把editlog和fsimage传送给Backup NameNode,主要作用是备份。但其还不能作热备,比喻Backup NameNode的内存中未保存Block的位置信息,仍需要等DataNode上报。
五.你也可以阅读以下文章
一.数据块
- HDFS默认数据块大小64M。{现在的版本已经是128M,下面不在修改了}
- 文件大于64M,将被分为若干份64M+其它M存储;文件小于64M,并不会占用整个64M大小,对于小文件,HDFS提供了几种解决方案:Hadoop Archive,Sequence file和CombineFileInputFormat,后面看源码时详解。
二.DataNode
- 数据节点是真正存储数据的地方。
- 周期性向NameNode汇报心跳,并带回NameNode要下达的指令。NameNode并不主动向DataNode发送请求。
- DataNode可以作为服务器,接受客户端的读写请求。
- DataNode之间会互相通信,复制数据块。
转载文章——Hadoop学习的更多相关文章
- Hadoop学习之旅三:MapReduce
MapReduce编程模型 在Google的一篇重要的论文MapReduce: Simplified Data Processing on Large Clusters中提到,Google公司有大量的 ...
- Hadoop学习笔记—22.Hadoop2.x环境搭建与配置
自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...
- Hadoop学习笔记—2.不怕故障的海量存储:HDFS基础入门
一.HDFS出现的背景 随着社会的进步,需要处理数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是却不方便管理和维护—>因此,迫切需要一种系统来管理多 ...
- 阿里封神谈hadoop学习之路
阿里封神谈hadoop学习之路 封神 2016-04-14 16:03:51 浏览3283 评论3 发表于: 阿里云E-MapReduce >> 开源大数据周刊 hadoop 学生 s ...
- Hadoop学习笔记(两)设置单节点集群
本文描写叙述怎样设置一个单一节点的 Hadoop 安装.以便您能够高速运行简单的操作,使用 Hadoop MapReduce 和 Hadoop 分布式文件系统 (HDFS). 參考官方文档:Hadoo ...
- Hadoop学习路线图
Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括, ...
- 【转载】正则表达式学习 & ASCII码表
文章原地址: http://www.jb51.net/tools/zhengze.html <正则表达式30分钟入门教程> 其中有几个地方可以有笔记: \s 匹配任意的空白符 \b 匹配单 ...
- 转载最佳JQuery学习网站
转载文章,原出处: http://www.gbin1.com/technology/jquery/learningjquerywebsites/ jQuery是目前最流行的 JavaScript ...
- Hadoop学习笔记—5.自定义类型处理手机上网日志
转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这 ...
随机推荐
- ASP.NET MVC 视图(四)
ASP.NET MVC 视图(四) 前言 上篇对于利用IoC框架对视图的实现进行依赖注入,最后还简单的介绍一下自定义的视图辅助器是怎么定义和使用的,对于Razor语法的细节和辅助器的使用下篇会说讲到, ...
- android内部培训视频_第五节(1)_OA实战之登录界面
第五节(1):OA实战之登录界面 一.登录界面布局 1.背景图片 2.文本框 3.checkbox 4.按钮 暂未实现点击切换图片效果 <RelativeLayout xmlns:androi ...
- Web网站中利用JavaScript中ActiveXObject对象获取硬件信息(显示器数量、分辨率)从而进行单双屏跳转
前言:最近这两天工作上,要实现一个功能,在好友阿聪的帮助下,算是比较好的解决了这个需求. B/S的Web网站,需要实现点击按钮时,根据客户端连接的显示屏(监视器)数量进行,单双屏跳转显示新页面. 由于 ...
- 关于百度编辑器UEditor的一点说明
大家在使用的时候要特别注意editor_config.js中的“URL”这个参数 我的理解:1.这个参数是editor整个结构的总路径 2.首先要把这个路径配置好了.才能正常的显示, ...
- javascript中字符串的比较规则
弄清这个还是很重要的,在字符排序中很有用处 非空字符串 > 空字符串 从第一个字符的charCode开始比较,大的就大 所有的字符都相同,就比较长度,长的大 '0'>'' '2'>' ...
- Javascript刷题 》数组求和
计算给定数组 arr 中所有元素的总和 输入描述: 数组中的元素均为 Number 类型 输入例子: sum([ 1, 2, 3, 4 ]) 输出例子: 10 解题方法 1.定义一个变量,将前面的和后 ...
- 帮我做个APP,给你20万,做不做?
一.为什么要写这篇文章 前段时间,有个辞职 创业的同事(做法务的) 问我 开发一个 新闻类的APP要多少钱,产品.UI.接口.后台管理页 他们啥都没有,想全部外包. 我 并没有在外包公司做过,也没 ...
- ASP.NET Core 1.0中实现文件上传的两种方式(提交表单和采用AJAX)
Bipin Joshi (http://www.binaryintellect.net/articles/f1cee257-378a-42c1-9f2f-075a3aed1d98.aspx) Uplo ...
- Bagging与随机森林算法原理小结
在集成学习原理小结中,我们讲到了集成学习有两个流派,一个是boosting派系,它的特点是各个弱学习器之间有依赖关系.另一种是bagging流派,它的特点是各个弱学习器之间没有依赖关系,可以并行拟合. ...
- HTTP Method详细解读(`GET` `HEAD` `POST` `OPTIONS` `PUT` `DELETE` `TRACE` `CONNECT`)
前言 HTTP Method的历史: HTTP 0.9 这个版本只有GET方法 HTTP 1.0 这个版本有GET HEAD POST这三个方法 HTTP 1.1 这个版本是当前版本,包含GET HE ...