1.用圖與自己的話,簡要描述Hadoop起源與發展階段。

1)Lucene 是 Doug Cutting 開創的開源軟件,實現與 Google 類似的全文搜索功能,它提供了全文檢索引擎的架構,包括完整的查詢引擎和索引引擎
2)2001 年年底成為 Apache 基金會的一個子項目
3)Google的三篇論文是 hadoop 的思想之源(Google 在大數據方面的三篇論文)
GFS --->HDFS
Map-Reduce --->MR
BigTable --->Hbase
4)2003-2004 年,Google 公開了部分 GFS 和 Mapreduce 思想的細節,以此為基礎 Doug Cutting等人用了 2 年業余時間實現了 DFS 和 Mapreduce 機制
5)2006 年3 月份,Map-Reduce 和 Nutch Distributed File System (NDFS) 分別被納入稱為 Hadoop 的項目中
6)名字來源于 Doug Cutting 兒子的玩具大象,Hadoop由此誕生
2.用圖與自己的話,簡要描述名稱節點、第二名稱節點、數據節點的主要功能及相互關系


在HDFS中,名稱節點(NameNode)負責管理分布式文件系統的命名空間(Namespace),保存了兩個核心的數據結構,即FsImage和EditLog
第二名稱節點(SecondaryNameNode)
:是HDFS架構中的一個組成部分,它是用來保存名稱節點中對HDFS 元數據信息的備份,并減少名稱節點重啟的時間。
SecondaryNameNode一般是單獨運行在一臺機器上
SecondaryNameNode讓EditLog變小的工作流程:
(1)SecondaryNameNode會定期和NameNode通信,請求其停止使用EditLog文件,暫時將新的寫操作寫到一個新的文件edit.new上來,這個操作是瞬間完成,上層寫日志的函數完全感覺不到差別;
(2)SecondaryNameNode通過HTTP GET方式從NameNode上獲取到FsImage和EditLog文件,并下載到本地的相應目錄下;
(3)SecondaryNameNode將下載下來的FsImage載入到內存,然后一條一條地執行EditLog文件中的各項更新操作,使得內存中的FsImage保持最新;這個過程就是EditLog和FsImage文件合并;
(4)SecondaryNameNode執行完(3)操作之后,會通過post方式將新的FsImage文件發送到NameNode節點上

數據節點是分布式文件系統HDFS的工作節點,負責數據的存儲和讀取,會根據客戶端或者是名稱節點的調度來進行數據的存儲和檢索,并且向名稱節點定期發送自己所存儲的塊的列表
3.分別從以下這些方面,梳理清楚HDFS的 結構與運行流程,以圖的形式描述。
- 客戶端與HDFS
- 客戶端讀
- 客戶端寫
- 數據結點與集群
- 數據結點與名稱結點
- 名稱結點與第二名稱結點
- 數據結點與數據結點
- 數據冗余
- 數據存取策略
- 數據錯誤與恢復



浙公網安備 33010602011771號