[51nod1533] 一堆的堆
1.瞭解對比Hadoop不同版本的特性,可以用圖表的形式呈現。
發行版本 |
功能特點 |
DKhadoop發行版 |
DKhadoop發行版:有效的集成了整個HADOOP生態系統的全部元件,並深度優化,重新編譯為一個完整的更高效能的大資料通用計算平臺,實現了各部件的有機協調。因此DKH相比開源的大資料平臺,在計算效能上有了高達5倍(最大)的效能提升。DKhadoop將複雜的大資料叢集配置簡化至三種節點(主節點、管理節點、計算節點),極大的簡化了叢集的管理運維,增強了叢集的高可用性、高可維護性、高穩定性。 |
cloudera發行版 |
Cloudera發行版:CDH是Cloudera的hadoop發行版,完全開源,比Apache hadoop在相容性,安全性,穩定性上有增強。 |
hortonworks發行版 |
€Hortonworks發行版:Hortonworks 的主打產品是Hortonworks Data Platform (HDP),也同樣是100%開源的產品,其版本特點:HDP包括穩定版本的Apache Hadoop的所有關鍵元件;安裝方便,HDP包括一個現代化的,直觀的使用者介面的安裝和配置工具 |
MAPR發行版 |
MAPR發行版:mapR有免費和商業兩個版本,免費版本在功能上有所減少 |
華為hadoop發行版 |
華為hadoop發行版:華為的hadoop版本基於自研的Hadoop HA平臺,構建NameNode、JobTracker、HiveServer的HA功能,程序故障後系統自動Failover,無需人工干預,這個也是對hadoop的小修補,遠不如mapR解決的徹底 |
2.Hadoop生態的組成、每個元件的作用、元件之間的相互關係,以圖例加文字描述呈現。
HDFS(Hadoop分散式檔案系統)
源自於Google的GFS論文,發表於2003年10月,HDFS是GFS克隆版。
是Hadoop體系中資料儲存管理的基礎。它是一個高度容錯的系統,能檢測和應對硬體故障,用於在低成本的通用硬體上執行。HDFS簡化了檔案的一致性模型,通過流式資料訪問,提供高吞吐量應用程式資料訪問功能,適合帶有大型資料集的應用程式。
HDFS這一部分主要有一下幾個部分組成:
(1)、Client:切分檔案;訪問HDFS;與NameNode互動,獲取檔案位置資訊;與DataNode互動,讀取和寫入資料。
(2)、NameNode:Master節點,在hadoop1.X中只有一個,管理HDFS的名稱空間和資料塊對映資訊,配置副本策略,處理客戶端請求。對於大型的叢集來講,Hadoop1.x存在兩個最大的缺陷:1)對於大型的叢集,namenode的記憶體成為瓶頸,namenode的擴充套件性的問題;2)namenode的單點故障問題。
針對以上的兩個缺陷,Hadoop2.x以後分別對這兩個問題進行了解決。對於缺陷1)提出了Federationnamenode來解決,該方案主要是通過多個namenode來實現多個名稱空間來實現namenode的橫向擴張。從而減輕單個namenode記憶體問題。
針對缺陷2),hadoop2.X提出了實現兩個namenode實現熱備HA的方案來解決。其中一個是處於standby狀態,一個處於active狀態。
(3)、DataNode:Slave節點,儲存實際的資料,彙報儲存資訊給NameNode。
(4)、Secondary NameNode:輔助NameNode,分擔其工作量;定期合併fsimage和edits,推送給NameNode;緊急情況下,可輔助恢復NameNode,但Secondary NameNode並非NameNode的熱備。
目前,在硬碟不壞的情況,我們可以通過secondarynamenode來實現namenode的恢復。
Mapreduce(分散式計算框架)
源自於google的MapReduce論文,發表於2004年12月,Hadoop MapReduce是google MapReduce 克隆版。MapReduce是一種計算模型,用以進行大資料量的計算。其中Map對資料集上的獨立元素進行指定的操作,生成鍵-值對形式中間結果。Reduce則對中間結果中相同“鍵”的所有“值”進行規約,以得到最終結果。MapReduce這樣的功能劃分,非常適合在大量計算機組成的分散式並行環境裡進行資料處理。
MapReduce計算框架發展到現在有兩個版本的MapReduce的API,針對MR1主要元件有以下幾個部分組成:
(1)、JobTracker:Master節點,只有一個,主要任務是資源的分配和作業的排程及監督管理,管理所有作業,作業/任務的監控、錯誤處理等;將任務分解成一系列任務,並分派給TaskTracker。
(2)、TaskTracker:Slave節點,執行Map Task和Reduce Task;並與JobTracker互動,彙報任務狀態。
(3)、Map Task:解析每條資料記錄,傳遞給使用者編寫的map(),並執行,將輸出結果寫入本地磁碟。
(4)、Reducer Task:從Map Task的執行結果中,遠端讀取輸入資料,對資料進行排序,將資料按照分組傳遞給使用者編寫的reduce函式執行。
在這個過程中,有一個shuffle過程,對於該過程是理解MapReduce計算框架是關鍵。該過程包含map函式輸出結果到reduce函式輸入這一個中間過程中所有的操作,稱之為shuffle過程。在這個過程中,可以分為map端和reduce端。
Map端:
1) 輸入資料進行分片之後,分片的大小跟原始的檔案大小、檔案塊的大小有關。每一個分片對應的一個map任務。
2) map任務在執行的過程中,會將結果存放到記憶體當中,當記憶體佔用達到一定的閾值(這個閾值是可以設定的)時,map會將中間的結果寫入到本地磁碟上,形成臨時檔案這個過程叫做溢寫。
3) map在溢寫的過程中,會根據指定reduce任務個數分別寫到對應的分割槽當中,這就是partition過程。每一個分割槽對應的是一個reduce任務。並且在寫的過程中,進行相應的排序。在溢寫的過程中還可以設定conbiner過程,該過程跟reduce產生的結果應該是一致的,因此該過程應用存在一定的限制,需要慎用。
4) 每一個map端最後都只存在一個臨時檔案作為reduce的輸入,因此會對中間溢寫到磁碟的多個臨時檔案進行合併Merge操作。最後形成一個內部分割槽的一個臨時檔案。
Reduce端:
1) 首先要實現資料本地化,需要將遠端節點上的map輸出複製到本地。
2) Merge過程,這個合併過程主要是對不同的節點上的map輸出結果進行合併。
3) 不斷的複製和合並之後,最終形成一個輸入檔案。Reduce將最終的計算結果存放在HDFS上。
針對MR2是新一代的MR的API。其主要是執行在Yarn的資源管理框架上。
Yarn(資源管理框架)
該框架是hadoop2.x以後對hadoop1.x之前JobTracker和TaskTracker模型的優化,而產生出來的,將JobTracker的資源分配和作業排程及監督分開。該框架主要有ResourceManager,Applicationmatser,nodemanager。其主要工作過程如下:其ResourceManager主要負責所有的應用程式的資源分配,ApplicationMaster主要負責每個作業的任務排程,也就是說每一個作業對應一個ApplicationMaster。Nodemanager是接收Resourcemanager 和ApplicationMaster的命令來實現資源的分配執行體。
ResourceManager在接收到client的作業提交請求之後,會分配一個Conbiner,這裡需要說明一下的是Resoucemanager分配資源是以Conbiner為單位分配的。第一個被分配的Conbiner會啟動Applicationmaster,它主要負責作業的排程。Applicationmanager啟動之後則會直接跟NodeManager通訊。
在YARN中,資源管理由ResourceManager和NodeManager共同完成,其中,ResourceManager中的排程器負責資源的分配,而NodeManager則負責資源的供給和隔離。ResourceManager將某個NodeManager上資源分配給任務(這就是所謂的“資源排程”)後,NodeManager需按照要求為任務提供相應的資源,甚至保證這些資源應具有獨佔性,為任務執行提供基礎的保證,這就是所謂的資源隔離。
在Yarn平臺上可以執行多個計算框架,如:MR,Tez,Storm,Spark等計算,框架。
3.官網學習Hadoop的安裝與使用,用文件的方式列出步驟與注意事項。
簡述hadoop安裝
1)使用 root 賬戶登入
2)修改 IP
3)修改 host 主機名
4)配置 SSH 免密碼登入
5)關閉防火牆
6)安裝 JDK
7)解壓 hadoop 安裝包
8)配置 hadoop 的核心檔案 hadoop-env.sh,core-site.xml , mapred-site.xml ,
hdfs-site.xml
9)配置 hadoop 環境變數
10)格式化 hadoop namenode-format
11)啟動節點 start-all.sh
詳細安裝參考:https://cloud.tencent.com/developer/article/1456434、https://www.jianshu.com/p/96486ac810ed
4.評估華為hadoop發行版本的特點與可用性。
華為Hadoop元件中的6大特色:
1、統一的SQL介面,可以支援各種元件進行統一查詢,而不需要把資料從一個元件遷移到另一個元件。
2、SparkSQL,SparkSQL概念並非華為提出,但華為為社群做出了很多貢獻,自己的產品能力更強,例如華為主導向Spark SQL貢獻的CPU優化器,使得穩定性和高效能比社群的開源的SQL更強。
3、完全自研的SQL引擎EIK,華為的SQL引擎更接近資料庫甚至超過資料庫,使用者能夠得到跟資料庫一樣甚至超過資料庫互動體驗效果。
4、Apach,CarbonData是華為主導的一個社群開展專案,參與者有國內眾多網際網路公司和大型企業,也有國外IT企業,其特點是對上層的應用無感知,提升了資料分析、資料查詢的效能。
5、多級租戶管理功能,FusionInsight提供的多級租戶管理功能來匹配企業的組織架構,也就是說,可以有這種公司級的租戶和管理員,有部門級的綜合管理員,還有子部門租戶和管理員,在給使用者設定許可權、設定資源配合有更方便的對應。
6、對異構裝置支援,既支援高低配的裝置在同一個大叢集裡,又支援開發應用可以指定某些應用執行在不同的機器上。
可用性:
中國60%的TOP 10金融、保險、銀行,全球Top50運營商中的25%都用了華為的大資料平臺;中國的平安城市建設有30%的客戶選擇了華為。華為在全球的專案、合作伙伴相當可觀。迄今為止,FusionInsight HD已經交付了700多個專案,產生了300多個合作伙伴和客戶;這些專案覆蓋到金融、公共安全、交通、政務、電信、電力、石油等各個行業。
發行版本 |
功能特點 |
DKhadoop發行版 |
DKhadoop發行版:有效的集成了整個HADOOP生態系統的全部元件,並深度優化,重新編譯為一個完整的更高效能的大資料通用計算平臺,實現了各部件的有機協調。因此DKH相比開源的大資料平臺,在計算效能上有了高達5倍(最大)的效能提升。DKhadoop將複雜的大資料叢集配置簡化至三種節點(主節點、管理節點、計算節點),極大的簡化了叢集的管理運維,增強了叢集的高可用性、高可維護性、高穩定性。 |
cloudera發行版 |
Cloudera發行版:CDH是Cloudera的hadoop發行版,完全開源,比Apache hadoop在相容性,安全性,穩定性上有增強。 |
hortonworks發行版 |
€Hortonworks發行版:Hortonworks 的主打產品是Hortonworks Data Platform (HDP),也同樣是100%開源的產品,其版本特點:HDP包括穩定版本的Apache Hadoop的所有關鍵元件;安裝方便,HDP包括一個現代化的,直觀的使用者介面的安裝和配置工具 |
MAPR發行版 |
MAPR發行版:mapR有免費和商業兩個版本,免費版本在功能上有所減少 |
華為hadoop發行版 |
華為hadoop發行版:華為的hadoop版本基於自研的Hadoop HA平臺,構建NameNode、JobTracker、HiveServer的HA功能,程序故障後系統自動Failover,無需人工干預,這個也是對hadoop的小修補,遠不如mapR解決的徹底 |
問題二:Hadoop生態的組成、每個元件的作用、元件之間的相互關係,以圖例加文字描述呈現
答:
Hadoop的專案結構不斷豐富發展,已經形成一個豐富的Hadoop生態系統;
元件 | 功能 |
HDFS | 分散式檔案系統 |
MapReduce | 分散式並行程式設計模型 |
YARN | 資源管理和排程器 |
Tez | 執行在YARN之上的下一代Hadoop查詢處理框架 |
Hive | Hadoop上的資料倉庫 |
HBase | Hadoop上的非關係型的分散式資料庫 |
Pig | 一個基於Hadoop的大規模資料分析平臺,提供類SQL的查詢語言PigLatin |
Sqoop | 用於在Hadoop與傳統資料庫之間進行資料傳遞 |
Oozie |
Hadoop上的工作流管理系統 |
Zookeeper | 提供分散式協調一致性服務 |
Storm | 流計算框架 |
Flume | 一個高可用的,高可靠性的,分散式的海量日誌採集,聚合和傳輸的系統 |
Ambari | Hadoop快速部署工具,支援Apache Hadoop叢集的供應,管理和監控 |
Kafka | 一種高吞吐量的分散式釋出訂閱訊息系統,可以處理消費者規模的網站中的所有動作流資料類似於Hadoop MapReduce的通用並行框架 |
問題三:官網學習Hadoop的安裝與使用,用文件的方式列出步驟與注意事項。
答:
Hadoop的安裝步驟:
1、安裝hadoop的環境,必須在你的系統中有java的環境,甚至需要關閉防火牆操作。
2、配置java環境,和必須要設定SSH
3、 修改配置檔案修改/usr/local/hadoop/etc/hadoop/
資料夾下的core-site.xml
和hdfs-site.xml
檔案
4、輸入相關命令
問題四:評估華為Hadoop發行版本的特點與可用性。
答:華為的hadoop版本基於自研的Hadoop HA平臺,構建NameNode、JobTracker、HiveServer的HA功能,程序故障後系統自動Failover,無需人工干預,這個也是對hadoop的小修補,遠不如mapR解決的徹底。
好文要頂關注我收藏該文 吳大叔關注 - 0
粉絲 - 0 +加關注 0 0 «上一篇:大資料作業一 posted @2020-09-19 17:03吳大叔 閱讀(0) 評論(0)編輯收藏 重新整理評論重新整理頁面返回頂部