1、Hadoop概述
1.1 Hadoop是什么?
1、Hadoop是一個(gè)又Apache基金會(huì)所開發(fā)的分布式系統(tǒng)基礎(chǔ)架構(gòu)。
2、主要解決海量數(shù)據(jù)的存儲(chǔ)和海量數(shù)據(jù)的分析計(jì)算。
3、廣義上來說,Hadoop通常是指一個(gè)更廣泛的概念——Hadoop生態(tài)圈。
1.2 Hadoop 優(yōu)勢(shì)(4高)
1、高可靠性:Hadoop底層維護(hù)多個(gè)數(shù)據(jù)副本,所有即使Hadoop某個(gè)計(jì)算元素或存儲(chǔ)出現(xiàn)故障,也不會(huì)導(dǎo)致數(shù)據(jù)的丟失。
2、高擴(kuò)展性:在集群間分配任務(wù)數(shù)據(jù),可方便擴(kuò)展數(shù)以千計(jì)的節(jié)點(diǎn)
3、高效性:在MapReduce的思想下,Hadoop是并行工作的,以加快任務(wù)處理速度。
4、高容錯(cuò)性:能夠自動(dòng)將失敗的任務(wù)重新分配。
1.3 Hadoop組成
在Hadoop2.x時(shí)代,增加了Yarn。Yarn只負(fù)責(zé)資源的調(diào)度,MapReduce只負(fù)責(zé)運(yùn)算。Hadoop3.x在組成上沒有變化。
1.3.1 HDFS架構(gòu)概述
Hadoop Distributed File System 簡稱HDFS,是一個(gè)分布式文件系統(tǒng)。
1、NameNode(nn):存儲(chǔ)文件的元數(shù)據(jù),如文件名,文件目錄結(jié)構(gòu),文件屬性(生成時(shí)間,副本數(shù),文件權(quán)限),以及每個(gè)文件的塊列表和塊所在的DataNode等。
2、DataNode(dn):在本地文件系統(tǒng)存儲(chǔ)文件塊數(shù)據(jù)塊,以及塊數(shù)據(jù)的校驗(yàn)和。
3、Secondary NameNode(2nn):每隔一段時(shí)間對(duì)NameNode元數(shù)據(jù)備份
1.3.2 Yarn架構(gòu)概述
Yet Another Resource Negotiator簡稱Yarn。另一種資源協(xié)調(diào)者,是Hadoop的資源管理器。
1、ResourceManager(RM):整個(gè)集群資源(內(nèi)存、CPU等)的老大。
2、NodeManager(NM):當(dāng)個(gè)節(jié)點(diǎn)服務(wù)器資源的老大
3、ApplicationMaster(AM):單個(gè)任務(wù)運(yùn)行的老大
4、Container:容器,相當(dāng)于一臺(tái)獨(dú)立的服務(wù)器,里面封裝了任務(wù)運(yùn)行所需要的資源(CPU、內(nèi)存、磁盤、網(wǎng)絡(luò)等)。
說明:
1、客戶端可以有多個(gè)。
2、集群上可以運(yùn)行多個(gè)ApplicationMaster。
3、每個(gè)NodeManager上可以有多個(gè)Container。
1.3.3 MapReduce架構(gòu)概述
MapReduce將計(jì)算過程分為兩個(gè)階段:Map和Reduce
1、Map階段并行處理輸入數(shù)據(jù)
2、Reduce階段對(duì)Map結(jié)果進(jìn)行匯總
1.3.4 HDFS、YARN、MapReduce三者關(guān)系
1.4 大數(shù)據(jù)技術(shù)生態(tài)體系
1、Sqoop::Sqoop 是一款開源的工具,主要用于在 Hadoop、Hive 與傳統(tǒng)的數(shù)據(jù)庫(MySQL)間進(jìn)行數(shù)據(jù)的傳遞,可以將一個(gè)關(guān)系型數(shù)據(jù)庫(例如 :MySQL,Oracle 等)中的數(shù)據(jù)導(dǎo)進(jìn)到 Hadoop 的 HDFS 中,也可以將 HDFS 的數(shù)據(jù)導(dǎo)進(jìn)到關(guān)系型數(shù)據(jù)庫中。
2、Flume:Flume 是一個(gè)高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume 支持在日志系統(tǒng)中定制各類數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù)。
3、Kafka:Kafka是一種高吞吐量的分布式發(fā)布訂閱消息系統(tǒng)。
4、Spark:Spark是當(dāng)前最流行的開源大數(shù)據(jù)內(nèi)存計(jì)算框架??梢曰贖adoop上存儲(chǔ)的大數(shù)據(jù)進(jìn)行計(jì)算。
5、Flink:Flink是當(dāng)前最流行的開源大數(shù)據(jù)內(nèi)存計(jì)算框架。用于實(shí)時(shí)計(jì)算的場景較多。
6、Oozie:Oozie是一個(gè)管理Hadoop作業(yè)(job)的工作流程調(diào)度管理系統(tǒng)。
7、Hbase:HBase是一個(gè)分布式的、面向列的開源數(shù)據(jù)庫。HBase不同于一般的關(guān)系數(shù)據(jù)庫,它是一個(gè)適合于非結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)的數(shù)據(jù)庫。
8、Hive:Hive是基于Hadoop的一個(gè)數(shù)據(jù)倉庫工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫表,并提供簡單的SQL查詢功能,可以將SQL語句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行。其優(yōu)點(diǎn)是學(xué)習(xí)成本低,可以通過類SQL語句快速實(shí)現(xiàn)簡單的MapReduce統(tǒng)計(jì),不必開發(fā)專門的MapReduce應(yīng)用,十分適合數(shù)據(jù)倉庫的統(tǒng)計(jì)分析。
9、Zookeeper:它是一個(gè)針對(duì)大型分布式系統(tǒng)的可靠協(xié)調(diào)系統(tǒng),提供的功能包括:配置維護(hù)、名字服務(wù)、分布式同步、組服務(wù)等。文章來源:http://www.zghlxwxcb.cn/news/detail-451745.html
1.5 推薦系統(tǒng)架構(gòu)圖
文章來源地址http://www.zghlxwxcb.cn/news/detail-451745.html
到了這里,關(guān)于Hadoop基礎(chǔ)學(xué)習(xí)---2、Hadoop概述的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!