1. 程式人生 > 實用技巧 >[51nod1533] 一堆的堆

[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/1456434https://www.jianshu.com/p/96486ac810ed

注意事項參考:https://blog.csdn.net/cai_and_luo/article/details/106177163?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.channel_param&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-7.channel_param

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生態系統;

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.xmlhdfs-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)編輯收藏

重新整理評論重新整理頁面返回頂部