全國(guó)咨詢(xún)/投訴熱線:400-618-4000

首頁(yè)技術(shù)文章正文

Hadoop生態(tài)體系有哪些子系統(tǒng)?

更新時(shí)間:2021-03-11 來(lái)源:黑馬程序員 瀏覽量:

1577370495235_學(xué)IT就到黑馬程序員.gif


隨著Hadoop的不斷發(fā)展,Hadoop生態(tài)體系越來(lái)越完善,現(xiàn)如今已經(jīng)發(fā)展成一個(gè)龐大的生態(tài)體系,如圖1所示。




圖1 Hadoop生態(tài)圈

從圖1中可以看出,Hadoop生態(tài)體系包含了很多子系統(tǒng),下面介紹一些常見(jiàn)的子系統(tǒng),具體如下:

1. HDFS分布式文件系統(tǒng)

HDFS是Hadoop分布式文件系統(tǒng),它是Hadoop生態(tài)系統(tǒng)中的核心項(xiàng)目之一,是分布式計(jì)算中數(shù)據(jù)存儲(chǔ)管理基礎(chǔ)。HDFS具有高容錯(cuò)性的數(shù)據(jù)備份機(jī)制,它能檢測(cè)和應(yīng)對(duì)硬件故障,并在低成本的通用硬件上運(yùn)行。另外,HDFS具備流式的數(shù)據(jù)訪問(wèn)特點(diǎn),提供高吞吐量應(yīng)用程序數(shù)據(jù)訪問(wèn)功能,適合帶有大型數(shù)據(jù)集的應(yīng)用程序。

2. MapReduce分布式計(jì)算框架

MapReduce是一種計(jì)算模型,用于大規(guī)模數(shù)據(jù)集(大于1TB)的并行運(yùn)算?!癕ap”對(duì)數(shù)據(jù)集上的獨(dú)立元素進(jìn)行指定的操作,生成鍵值對(duì)形式中間結(jié)果;“Reduce”則對(duì)中間結(jié)果中相同“鍵”的所有“值”進(jìn)行規(guī)約,以得到最終結(jié)果。MapReduce這種“分而治之”的思想,極大地方便了編程人員在不會(huì)分布式并行編程的情況下,將自己的程序運(yùn)行在分布式系統(tǒng)上。

3. Yarn資源管理框架

Yarn(Yet Another Resource Negotiator)是Hadoop 2.0中的資源管理器,它可為上層應(yīng)用提供統(tǒng)一的資源管理和調(diào)度,它的引入為集群在利用率、資源統(tǒng)一管理和數(shù)據(jù)共享等方面帶來(lái)了巨大好處。

4. Sqoop數(shù)據(jù)遷移工具

Sqoop是一款開(kāi)源的數(shù)據(jù)導(dǎo)入導(dǎo)出工具,主要用于在Hadoop與傳統(tǒng)的數(shù)據(jù)庫(kù)間進(jìn)行數(shù)據(jù)的轉(zhuǎn)換,它可以將一個(gè)關(guān)系型數(shù)據(jù)庫(kù)(例如,MySQL、Oracle等)中的數(shù)據(jù)導(dǎo)入到Hadoop的HDFS中,也可以將HDFS的數(shù)據(jù)導(dǎo)出到關(guān)系型數(shù)據(jù)庫(kù)中,使數(shù)據(jù)遷移變得非常方便。

5. Mahout數(shù)據(jù)挖掘算法庫(kù)

Mahout是Apache旗下的一個(gè)開(kāi)源項(xiàng)目,它提供了一些可擴(kuò)展的機(jī)器學(xué)習(xí)領(lǐng)域經(jīng)典算法的實(shí)現(xiàn),旨在幫助開(kāi)發(fā)人員更加方便快捷地創(chuàng)建智能應(yīng)用程序。Mahout包含許多實(shí)現(xiàn),包括聚類(lèi)、分類(lèi)、推薦過(guò)濾、頻繁子項(xiàng)挖掘。此外,通過(guò)使用 Apache Hadoop 庫(kù),Mahout 可以有效地?cái)U(kuò)展到云中。

6. Hbase分布式存儲(chǔ)系統(tǒng)

HBase是Google Bigtable克隆版,它是一個(gè)針對(duì)結(jié)構(gòu)化數(shù)據(jù)的可伸縮、高可靠、高性能、分布式和面向列的動(dòng)態(tài)模式數(shù)據(jù)庫(kù)。和傳統(tǒng)關(guān)系數(shù)據(jù)庫(kù)不同,HBase采用了BigTable的數(shù)據(jù)模型:增強(qiáng)的稀疏排序映射表(Key/Value),其中,鍵由行關(guān)鍵字、列關(guān)鍵字和時(shí)間戳構(gòu)成。HBase提供了對(duì)大規(guī)模數(shù)據(jù)的隨機(jī)、實(shí)時(shí)讀寫(xiě)訪問(wèn),同時(shí),HBase中保存的數(shù)據(jù)可以使用MapReduce來(lái)處理,它將數(shù)據(jù)存儲(chǔ)和并行計(jì)算完美地結(jié)合在一起。

7. Zookeeper分布式協(xié)作服務(wù)

Zookeeper是一個(gè)分布式的,開(kāi)放源碼的分布式應(yīng)用程序協(xié)調(diào)服務(wù),是Google的Chubby一個(gè)開(kāi)源的實(shí)現(xiàn),是Hadoop和HBase的重要組件。它是一個(gè)為分布式應(yīng)用提供一致性服務(wù)的軟件,提供的功能包括:配置維護(hù)、域名服務(wù)、分布式同步、組服務(wù)等用于構(gòu)建分布式應(yīng)用,減少分布式應(yīng)用程序所承擔(dān)的協(xié)調(diào)任務(wù)。

8. Hive基于Hadoop的數(shù)據(jù)倉(cāng)庫(kù)

Hive是基于Hadoop的一個(gè)分布式數(shù)據(jù)倉(cāng)庫(kù)工具,可以將結(jié)構(gòu)化的數(shù)據(jù)文件映射為一張數(shù)據(jù)庫(kù)表,將SQL語(yǔ)句轉(zhuǎn)換為MapReduce任務(wù)進(jìn)行運(yùn)行。其優(yōu)點(diǎn)是操作簡(jiǎn)單,降低學(xué)習(xí)成本,可以通過(guò)類(lèi)SQL語(yǔ)句快速實(shí)現(xiàn)簡(jiǎn)單的MapReduce統(tǒng)計(jì),不必開(kāi)發(fā)專(zhuān)門(mén)的MapReduce應(yīng)用,十分適合數(shù)據(jù)倉(cāng)庫(kù)的統(tǒng)計(jì)分析。

9. Flume日志收集工具

Flume是Cloudera提供的一個(gè)高可用的,高可靠的,分布式的海量日志采集、聚合和傳輸?shù)南到y(tǒng),F(xiàn)lume支持在日志系統(tǒng)中定制各類(lèi)數(shù)據(jù)發(fā)送方,用于收集數(shù)據(jù);同時(shí),F(xiàn)lume提供對(duì)數(shù)據(jù)進(jìn)行簡(jiǎn)單處理,并寫(xiě)到各種數(shù)據(jù)接受方(可定制)的能力。



猜你喜歡:

黑馬程序員大數(shù)據(jù)基礎(chǔ)視頻教程

大數(shù)據(jù)離散流是什么?它的內(nèi)部結(jié)構(gòu)是怎樣的?

什么樣的數(shù)據(jù)可以稱(chēng)為大數(shù)據(jù)?

黑馬程序員大數(shù)據(jù)開(kāi)發(fā)培訓(xùn)

分享到:
在線咨詢(xún) 我要報(bào)名
和我們?cè)诰€交談!