Hadoop 概述
- 1. Hadoop 是什么
- 2. Hadoop 發展歷史
- 3. Hadoop 三大發行版本
- 3.1 Apache Hadoop
- 3.2 Cloudera Hadoop
- 3.3 Hortonworks Hadoop
- 4. Hadoop 優勢
- 5. Hadoop 組成
- 5.1 HDFS 架構概述
- 5.2 YARN 架構概述
- 5.3 MapReduce 架構概述
- 5.4 HDFS、YARN、MapReduce 三者關系
- 6. 大資料技術生態體系
- 7. 推薦系統框架圖
1. Hadoop 是什么
1)Hadoop是一個由Apache基金會所開發的分布式系統基礎架構,
2)主要解決,海量資料的存盤和海量資料的分析計算問題,
3)廣義上來說,Hadoop通常是指一個更廣泛的概念——Hadoop生態圈,

2. Hadoop 發展歷史
1)Hadoop創始人Doug Cutting,為 了實 現與Google類似的全文搜索功能,他在Lucene框架基礎上進行優化升級,查詢引擎和索引引擎,

2)2001年年底Lucene成為Apache基金會的一個子專案,
3)對于海量資料的場景,Lucene框 架面 對與Google同樣的困難,存盤海量資料困難,檢索海量速度慢,
4)學習和模仿Google解決這些問題的辦法 :微型版Nutch,
5)可以說Google是Hadoop的思想之源(Google在大資料方面的三篇論文)
GFS —>HDFS
Map-Reduce —>MR
BigTable —>HBase
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 System (NDFS)分別被納入到 Hadoop 專案中,Hadoop就此正式誕生,標志著大資料時代來臨,
9)名字來源于Doug Cutting兒子的玩具大象

3. Hadoop 三大發行版本
Hadoop 三大發行版本:Apache、Cloudera、Hortonworks,
- Apache 版本最原始(最基礎)的版本,對于入門學習最好,2006
- Cloudera 內部集成了很多大資料框架,對應產品 CDH,2008
- Hortonworks 檔案較好,對應產品 HDP,2011
- Hortonworks 現在已經被 Cloudera 公司收購,推出新的品牌 CDP,

3.1 Apache Hadoop
官網地址:http://hadoop.apache.org
下載地址:https://hadoop.apache.org/releases.html
3.2 Cloudera Hadoop
官網地址:https://www.cloudera.com/downloads/cdh
下載地址:https://docs.cloudera.com/documentation/enterprise/6/release-notes/topics/rg_cdh_6_download.html
(1)2008 年成立的 Cloudera 是最早將 Hadoop 商用的公司,為合作伙伴提供 Hadoop 的商用解決方案,主要是包括支持、咨詢服務、培訓,
(2)2009 年 Hadoop 的創始人 Doug Cutting 也加盟 Cloudera 公司,Cloudera 產品主要為 CDH,Cloudera Manager,Cloudera Support
(3)CDH 是 Cloudera 的 Hadoop 發行版,完全開源,比 Apache Hadoop 在兼容性,安全性,穩定性上有所增強,Cloudera 的標價為每年每個節點 10000 美元
(4)Cloudera Manager 是集群的軟體分發及管理監控平臺,可以在幾個小時內部署好一個 Hadoop 集群,并對集群的節點及服務進行實時監控,
3.3 Hortonworks Hadoop
官網地址:https://hortonworks.com/products/data-center/hdp/
下載地址:https://hortonworks.com/downloads/#data-platform
(1)2011 年成立的 Hortonworks 是雅虎與硅谷風投公司 Benchmark Capital 合資組建,
(2)公司成立之初就吸納了大約 25 名至 30 名專門研究 Hadoop 的雅虎工程師,上述工程師均在 2005 年開始協助雅虎開發 Hadoop,貢獻了 Hadoop80%的代碼,
(3)Hortonworks 的主打產品是 Hortonworks Data Platform(HDP),也同樣是 100%開源的產品,HDP 除常見的專案外還包括了 Ambari,一款開源的安裝和管理系統,
(4)2018 年 Hortonworks 目前已經被 Cloudera 公司收購,
4. Hadoop 優勢
1)高可靠性:Hadoop底層維護多個資料副本,所以即使Hadoop某個計算元素或存盤出現故障,也不會導致資料的丟失,

2)高擴展性:在集群間分配任務資料,可方便的擴展數以千計的節點,

3)高效性:在MapReduce的思想下,Hadoop是并行作業的,以加快任務處理速度,

4)高容錯性:能夠自動將失敗的任務重新分配,

5. Hadoop 組成
面試重點!!!
Hadoop1.x、2.x、3.x區別:
-
在 Hadoop1.x 時 代 ,Hadoop中 的MapReduce同
時處理業務邏輯運算和資源的調度,耦合性較大, -
在Hadoop2.x時 代,增加 了Yarn,Yarn只負責資源的調度 ,MapReduce 只負責運算,
-
Hadoop3.x在組成上沒有變化,

5.1 HDFS 架構概述
Hadoop Distributed File System,簡稱 HDFS,是一個分布式檔案系統,
1)NameNode(nn):存盤檔案的元資料,如檔案名,檔案目錄結構,檔案屬性(生成時間、副本數、檔案權限),以及每個檔案的塊串列和塊所在的DataNode等,
2)DataNode(dn):在本地檔案系統存盤檔案塊資料,以及塊資料的校驗和,
3)Secondary NameNode(2nn):每隔一段時間對NameNode元資料備份,
5.2 YARN 架構概述
Yet Another Resource Negotiator 簡稱 YARN ,另一種資源協調者,是 Hadoop 的資源管理器,

5.3 MapReduce 架構概述
MapReduce 將計算程序分為兩個階段:Map 和 Reduce,
1)Map 階段并行處理輸入資料
2)Reduce 階段對 Map 結果進行匯總

5.4 HDFS、YARN、MapReduce 三者關系

6. 大資料技術生態體系

圖中涉及的技術名詞解釋如下:
1)Sqoop:Sqoop 是一款開源的工具,主要用于在 Hadoop、Hive 與傳統的資料庫(MySQL)間進行資料的傳遞,可以將一個關系型資料庫(例如 :MySQL,Oracle 等)中的資料導進到 Hadoop 的 HDFS 中,也可以將 HDFS 的資料導進到關系型資料庫中,
2)Flume:Flume 是一個高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸的系統,Flume 支持在日志系統中定制各類資料發送方,用于收集資料;
3)Kafka:Kafka 是一種高吞吐量的分布式發布訂閱訊息系統;
4)Spark:Spark 是當前最流行的開源大資料記憶體計算框架,可以基于 Hadoop 上存盤的大資料進行計算,
5)Flink:Flink 是當前最流行的開源大資料記憶體計算框架,用于實時計算的場景較多,
6)Oozie:Oozie 是一個管理 Hadoop 作業(job)的作業流程調度管理系統,
7)Hbase:HBase 是一個分布式的、面向列的開源資料庫,HBase 不同于一般的關系資料庫,它是一個適合于非結構化資料存盤的資料庫,
8)Hive:Hive 是基于 Hadoop 的一個資料倉庫工具,可以將結構化的資料檔案映射為一張資料庫表,并提供簡單的 SQL 查詢功能,可以將 SQL 陳述句轉換為 MapReduce 任務進行運行,其優點是學習成本低,可以通過類 SQL 陳述句快速實作簡單的 MapReduce 統計,不必開發專門的 MapReduce 應用,十分適合資料倉庫的統計分析,
9)ZooKeeper:它是一個針對大型分布式系統的可靠協調系統,提供的功能包括:配置維護、名字服務、分布式同步、組服務等,
7. 推薦系統框架圖

加油!
感謝!
努力!
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/297493.html
標籤:AI
上一篇:Hadoop入門
