萌新帶你入門大數據之Hadoop簡介
一、什么是Hadoop
1、Hadoop是什么
(1)Hadoop是一個由Apache基金會所開發的分布式系統基礎架構
(2)主要解決海量數據的存儲和海量數據的分析計算問題
(3)廣義上來說,Hadoop通常是指一個更廣泛的概念–Hadoop生態圈
2、Hadoop發展歷史:
(1)Lucene框架是Doug Cutting開創的開源軟件,用Jav a書寫代碼,實現與Google類似的全文搜索功能,它提供了全文檢索引擎的架構,包括完整的查詢引擎和索引引擎。
(2)2001年年底Lucene成為Apache基金會的一個子項目。
(3)對于海量數據的場景,Lucene面對與Google同樣的困難,存儲數據困難,檢索速度慢。
(4)學習和模仿Google解決這些問題的辦法︰微型版Nutch。
(5)可以說Google是Hadoop的思想之源(Google在大數據方面的三篇論文)
(6)2003-2004年,Google公開了部分GFS和MapReduce思想的細節,以此為基礎Doug Cutting等人用了2年業余時間實現了DFS和口MapReduce機制,使Nutch性能飆升。
(7)2005年Hadoop 作為Lucene的子項目Nutch的一部分正式引入Apache基金會。
(8)2006年3月份,Map-Reduce和Nutch Distributed File Systerm (NDFS)分別被納入到Hadoop項目中,Hadoop就此正式誕生,標志著大數據時代來臨。
3、Hadoop三大發行版本
Apache:最原始版本,對于入門學習最好
Cloudera(CDH版):在大型互聯網企業中用的較多
Hortonworks:文檔較好,收費
二、Hadoop優勢
1、Hadoop優勢(4高)
(1)高可靠性:Hadoop底層維護多個數據副本,所以即使Hadoop某個計算元素或存儲出現故障,也不會導致數據的丟失
(2)高擴展性:在集群間分配任務數據,可方便的擴展數以千計的節點
(3)高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任務處理速度
(4)高容錯性:能夠自動將失敗的任務重新分配
2、Hadoop的組成
Hadoop1.x:Common(輔助工具)、HDFS(數據存儲)、MapReduce(計算+資源調度)
Hadoop2.x:Common(輔助工具)、HDFS(數據存儲)、MapReduce(計算)、Yarn(資源調度) ----> 模塊化,解耦
在Hadoop1.x時代,Hadoop中的MapReduce同時處理業務邏輯運算和資源的調度,耦合性較大,在Hadoop2.x時代,增加了Yarn,Yarn只負責資源的調度,MapReduce只負責運算。
(1)NameNode(nm):存儲文件的元數據,如文件名,文件目錄結構,文件屬性(生成時間、副本數、文件權限),以及每個文件的塊列表和塊所在的DataNode等
(2)DataNode(dn):在本地文件系統存儲文件塊數據,以及塊數據的校驗和
(3)Secondary NameNode(2nm):用來監控HDFS狀態的輔助后臺程序,每隔一段時間獲取HDFS元數據的快照
(1)ResourceManager(RM):整個集群資源節點的老大,處理客戶端請求,監控NodeManager,啟動或監控ApplicationMaster,資源的分配與調度
(2)NodeManager(NM):單個節點資源的老大,管理單個節點上資源、處理來自ResourceManager的命令、處理來自ApplicationMaster的命令
(3)ApplicationMaster(AM):負責數據的切分、為應用程序申請資源并分配給內部的任務、任務的監控與容錯
(4)Container:是Yarn中的資源抽象,它封裝了某個節點上的多維度資源,如內存、CPU、磁盤、網絡等
MapReduce將計算過程分為兩個階段:Map和Reduce
(1)Map:階段并行處理輸入數據 -->(分)
(2)Reduce:對Map結果進行匯總 -->(合)
3、大數據技術生態體系
(1)數據來源層:數據庫(結構化數據)、文件日志(半結構化數據)、視頻、PPT等(非結構化數據)
(2)數據傳輸層:Sqoop數據傳遞、Flume日志收集、Kafka消息隊列
(3)數據存儲層:HDFS文件存儲、HBase非關系型數據庫
(4)資源管理層:Yarn資源管理
(5)數據計算層:MapReduce離線計算(Hive數據查詢、Mahout數據挖掘)、Spark Core內存計算(Mahout數據挖掘、Spark Mlib數據挖掘、Spark R數據分析、Spark Sql數據查詢、Spark Streaming實時計算)、Storm實時計算
(6)任務調度層:Oozie任務調度、Azkaban任務調度
(7)業務模型層:業務模型、數據可視化、業務應用
Hadoop 大數據
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。