一.Hadoop社區版和發行版html
- 社區版:咱們把Apache社區一直開發的Hadoop稱爲社區版。簡單的說就是Apache Hadoophttp://hadoop.apache.org/
- 發行版:基於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
- 華爲
- 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論文架構
四.你也能夠閱讀一下文檔app
- 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上報。
五.你也能夠閱讀如下文章
- http://www.happyang.com/?p=6
- http://blog.sina.com.cn/s/blog_7ead58ad0100umd9.html
一.數據塊
- HDFS默認數據塊大小64M。{如今的版本已是128M,下面不在修改了}
- 文件大於64M,將被分爲若干份64M+其它M存儲;文件小於64M,並不會佔用整個64M大小,對於小文件,HDFS提供了幾種解決方案:Hadoop Archive,Sequence file和CombineFileInputFormat,後面看源碼時詳解。
二.DataNode
- 數據節點是真正存儲數據的地方。
- 週期性向NameNode彙報心跳,並帶回NameNode要下達的指令。NameNode並不主動向DataNode發送請求。
- DataNode能夠做爲服務器,接受客戶端的讀寫請求。
- DataNode之間會互相通訊,複製數據塊。
轉載:http://www.iteye.com/blogs/subjects/zy19982004?page=2