zoukankan      html  css  js  c++  java
  • 转载文章——Hadoop学习

    转载地址: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之间会互相通信,复制数据块。
  • 相关阅读:
    leetcode 5414 收藏清单
    leetcode 714 买卖股票的最佳时机含手续费(dp)
    春招的一个记录
    leetcode 560 和为k的子数组(前缀和 + map)
    机器学习--激活函数篇
    leetcode 回文链表(O(1)空间复杂度)
    Leetcode 659 分割数组为连续子序列 (贪心)
    论文笔记:MeLU: Meta-Learned User Preference Estimator for Cold-Start Recommendation
    jni.h头文件详解一
    JNI笔记
  • 原文地址:https://www.cnblogs.com/zpfbuaa/p/5983596.html
Copyright © 2011-2022 走看看