转载地址:http://www.iteye.com/blogs/subjects/zy19982004?page=2

一.Hadoop社区版和发行版

  1. 社区版:我们把Apache社区一直开发的Hadoop称为社区版。简单的说就是Apache Hadoophttp://hadoop.apache.org/
  2. 发行版:基于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的发行版最先进入中国市场。
    • 提供全面的硬件解决方案,针对硬件的性能优化。

四.你也可以阅读以下文档

  1. hadoop版本总结http://dijunzheng2008.blog.163.com/blog/static/98959897201210171340254/
  2. 关于Apache Hadoop 1.0 http://f.dataguru.cn/thread-23223-1-1.html
  3. 突破社区版Hadoop各商业发行版比较 http://cloud.chinabyte.com/news/206/12446706.shtml
  4. 如何选择不同的Hadoop发行版 http://www.searchbi.com.cn/showcontent_70957.htm

一.Hadoop来历

  1. 2004年12月。Google发表了MapReduce论文,MapReduce允许跨服务器集群,运行超大规模并行计算。Doug Cutting意识到可以用MapReduce来解决Lucene的扩展问题。
  2. Google发表了GFS论文。
  3. Doug Cutting根据GFS和MapReduce的思想创建了开源Hadoop框架。
  4. 2006年1月,Doug Cutting加入Yahoo,领导Hadoop的开发。
  5. Doug Cutting任职于Cloudera公司。
  6. 2009年7月,Doug Cutting当选为Apache软件基金会董事,2010年9月,当选为chairman。
  7. 各大企业开发自己的发行版,并为Apache Hadoop贡献代码。

二.Google-->Apache

    • Chubby-->ZooKeeper
    • GFS-->HDFS
    • BigTable-->HBase
    • MapReduce-->MapReduce

三.Google论文

四.你也可以阅读一下文档

  1. Wiki Doug Cutting http://en.wikipedia.org/wiki/Doug_Cutting
  2. 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

  1. editLog:客户端对文件系统每次读写等操作时,元数据节点首先修改内存中的数据结构,然后记录到editlog中。
  2. fsimage:二进制文件;当editlog达到一定量(fs.checkpoint.size)或者距离上次归并到fsimage达到一定时间(fs.checkpoint.period)时, editlog会被归并到fsimage中。此过程被称为checkpoint。另外一个checkpoint的时间是NameNode启动时。

三.NameNode + Secondary NameNode

  1. Secondary NameNode通知NameNode准备chekpoint。
  2. NameNode产生edits.new,用来接受checkpoint过程中的editlog。
  3. Secondary NameNode通过http get方式获取NameNode的fsimage与editlog。
  4. Secondary NameNode开始合并获取的上述两个文件,产生一个新的fsimage文件fsimage.ckpt。
  5. Secondary NameNode用http post方式发送fsimage.ckpt至NameNode。
  6. 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上报。

五.你也可以阅读以下文章

  1. http://www.happyang.com/?p=6
  2. http://blog.sina.com.cn/s/blog_7ead58ad0100umd9.html

一.数据块

  1. HDFS默认数据块大小64M。{现在的版本已经是128M,下面不在修改了}
  2. 文件大于64M,将被分为若干份64M+其它M存储;文件小于64M,并不会占用整个64M大小,对于小文件,HDFS提供了几种解决方案:Hadoop Archive,Sequence file和CombineFileInputFormat,后面看源码时详解。

二.DataNode

  1. 数据节点是真正存储数据的地方。
  2. 周期性向NameNode汇报心跳,并带回NameNode要下达的指令。NameNode并不主动向DataNode发送请求。
  3. DataNode可以作为服务器,接受客户端的读写请求。
  4. DataNode之间会互相通信,复制数据块。

转载文章——Hadoop学习的更多相关文章

  1. Hadoop学习之旅三:MapReduce

    MapReduce编程模型 在Google的一篇重要的论文MapReduce: Simplified Data Processing on Large Clusters中提到,Google公司有大量的 ...

  2. Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

    自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔 ...

  3. Hadoop学习笔记—2.不怕故障的海量存储:HDFS基础入门

    一.HDFS出现的背景 随着社会的进步,需要处理数据量越来越多,在一个操作系统管辖的范围存不下了,那么就分配到更多的操作系统管理的磁盘中,但是却不方便管理和维护—>因此,迫切需要一种系统来管理多 ...

  4. 阿里封神谈hadoop学习之路

    阿里封神谈hadoop学习之路   封神 2016-04-14 16:03:51 浏览3283 评论3 发表于: 阿里云E-MapReduce >> 开源大数据周刊 hadoop 学生 s ...

  5. Hadoop学习笔记(两)设置单节点集群

    本文描写叙述怎样设置一个单一节点的 Hadoop 安装.以便您能够高速运行简单的操作,使用 Hadoop MapReduce 和 Hadoop 分布式文件系统 (HDFS). 參考官方文档:Hadoo ...

  6. Hadoop学习路线图

    Hadoop家族产品,常用的项目包括Hadoop, Hive, Pig, HBase, Sqoop, Mahout, Zookeeper, Avro, Ambari, Chukwa,新增加的项目包括, ...

  7. 【转载】正则表达式学习 & ASCII码表

    文章原地址: http://www.jb51.net/tools/zhengze.html <正则表达式30分钟入门教程> 其中有几个地方可以有笔记: \s 匹配任意的空白符 \b 匹配单 ...

  8. 转载最佳JQuery学习网站

    转载文章,原出处: http://www.gbin1.com/technology/jquery/learningjquerywebsites/ jQuery是目前最流行的 JavaScript    ...

  9. Hadoop学习笔记—5.自定义类型处理手机上网日志

    转载自http://www.cnblogs.com/edisonchou/p/4288737.html Hadoop学习笔记—5.自定义类型处理手机上网日志 一.测试数据:手机上网日志 1.1 关于这 ...

随机推荐

  1. ASP.NET MVC Model验证(二)

    ASP.NET MVC Model验证(二) 前言 上篇内容演示了一个简单的Model验证示例,然后在文中提及到Model验证在MVC框架中默认所处的位置在哪?本篇就是来解决这个问题的,并且会描述一下 ...

  2. 利用Netty构建自定义协议的通信

    在复杂的网络世界中,各种应用之间通信需要依赖各种各样的协议,比如:HTTP,Telnet,FTP,SMTP等等. 在开发过程中,有时候我们需要构建一些适应自己业务的应用层协议,Netty作为一个非常优 ...

  3. egret GUI 和 egret Wing 是我看到h5 最渣的设计

    一个抄袭FlexLite抄的连自己思想都没有,别人精髓都不懂的垃圾框架.也不学学MornUI,好歹有点自己想法. 先来个最小可用集合吧: 1. egret create legogame --type ...

  4. webstorm license key

    JetBrains WebStorm注册码 UserName: William License Key : ===== LICENSE BEGIN ===== 45550-12042010 00001 ...

  5. Java 8函数编程轻松入门(四)方法引用

    C#中系统提供了许多IEnumerable的扩展方法.同样在Java 8中新引入了Collector类. 1.方法引用 定义: 简而言之:就是一个Lambda表达式.在Java 8中,我们我们会使用L ...

  6. 编写Windows服务疑问1:操作过程

    Windows 服务开发平时不太受人关注,毕竟那是高大上的项目类型,平常需求也用不上,很多老掉牙的家伙也只知有WinForm,仍不知有WPF,更别说Windows 服务了,正如陶渊明所写的,“不知有汉 ...

  7. 单例模式——创建型模式01

    1. 名称     单例模式(Singleton Pattern):确保某一个类只有一个实例,而且自行实例化并向整个系统提供这个实例,这个类称为单例类.单例模式是一种对象创建型模式. 2. 问题    ...

  8. 数据结构笔记--栈的总结及java数组实现简单栈结构

    杂谈"栈"结构: 栈(Stack)是一种插入删除操作都只能在一个位置上进表,这个位置位于表的末端,叫做栈顶(Top). 对栈的基本操作有push和pop,表示进栈和出栈.也就相当于 ...

  9. DataTable与DTO对象的简易转换类

    在web开发过程中,有时候为了数据传输的方便,比如:后台需要更新前端的ViewModel,此时我们定义一个与前端ViewModel结构一样的DTO对象,从数据层获取数据后,将数据封装成DTO然后序列化 ...

  10. ViEmu 3.6.0 过期 解除30天限制的方法

    下载:链接: http://pan.baidu.com/s/1c2HUuWw 密码: sak8 删除下面2个地方 HKEY_CLASSES_ROOT\Wow6432Node\CLSID\{B9CDA4 ...