Hadoop學習1

一.Hadoop社區版和發行版html

  1. 社區版:咱們把Apache社區一直開發的Hadoop稱爲社區版。簡單的說就是Apache Hadoophttp://hadoop.apache.org/
  2. 發行版:基於Apache Hadoop的基礎上進行商業改造的解決方案,包含一系列定製的管理工具和軟件。

二.Hadoop社區版版本號apache

     一直以來,Hadoop的版本號一直困擾着廣大Hadoop愛好者,各版本層出不窮。若是你想使用Apache Hadoop,你必須知道本身要使用哪一個版本的Hadoop,搞清楚Hadoop版本號就尤其重要了。api

 

三.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論文架構

四.你也能夠閱讀一下文檔app

  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之間會互相通訊,複製數據塊。

轉載:http://www.iteye.com/blogs/subjects/zy19982004?page=2

相關文章
相關標籤/搜索