自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

一文搞懂Hadoop生態(tài)系統(tǒng)

大數(shù)據(jù) Hadoop
Hadoop體系也是一個(gè)計(jì)算框架,在這個(gè)框架下,可以使用一種簡(jiǎn)單的編程模式,通過(guò)多臺(tái)計(jì)算機(jī)構(gòu)成的集群,分布式處理大數(shù)據(jù)集。

01Hadoop概述

Hadoop體系也是一個(gè)計(jì)算框架,在這個(gè)框架下,可以使用一種簡(jiǎn)單的編程模式,通過(guò)多臺(tái)計(jì)算機(jī)構(gòu)成的集群,分布式處理大數(shù)據(jù)集。Hadoop是可擴(kuò)展的,它可以方便地從單一服務(wù)器擴(kuò)展到數(shù)千臺(tái)服務(wù)器,每臺(tái)服務(wù)器進(jìn)行本地計(jì)算和存儲(chǔ)。除了依賴于硬件交付的高可用性,軟件庫(kù)本身也提供數(shù)據(jù)保護(hù),并可以在應(yīng)用層做失敗處理,從而在計(jì)算機(jī)集群的頂層提供高可用服務(wù)。Hadoop核心生態(tài)圈組件如圖1所示。

圖1 Haddoop開(kāi)源生態(tài)

02Hadoop生態(tài)圈

Hadoop包括以下4個(gè)基本模塊。

1)Hadoop基礎(chǔ)功能庫(kù):支持其他Hadoop模塊的通用程序包。

2)HDFS:一個(gè)分布式文件系統(tǒng),能夠以高吞吐量訪問(wèn)應(yīng)用中的數(shù)據(jù)。

3)YARN:一個(gè)作業(yè)調(diào)度和資源管理框架。

4)MapReduce:一個(gè)基于YARN的大數(shù)據(jù)并行處理程序。

除了基本模塊,Hadoop還包括以下項(xiàng)目。

1)Ambari:基于Web,用于配置、管理和監(jiān)控Hadoop集群。支持HDFS、MapReduce、Hive、HCatalog、HBase、ZooKeeper、Oozie、Pig和Sqoop。Ambari還提供顯示集群健康狀況的儀表盤,如熱點(diǎn)圖等。Ambari以圖形化的方式查看MapReduce、Pig和Hive應(yīng)用程序的運(yùn)行情況,因此可以通過(guò)對(duì)用戶友好的方式診斷應(yīng)用的性能問(wèn)題。

2)Avro:數(shù)據(jù)序列化系統(tǒng)。

3)Cassandra:可擴(kuò)展的、無(wú)單點(diǎn)故障的NoSQL多主數(shù)據(jù)庫(kù)。

4)Chukwa:用于大型分布式系統(tǒng)的數(shù)據(jù)采集系統(tǒng)。

5)HBase:可擴(kuò)展的分布式數(shù)據(jù)庫(kù),支持大表的結(jié)構(gòu)化數(shù)據(jù)存儲(chǔ)。

6)Hive:數(shù)據(jù)倉(cāng)庫(kù)基礎(chǔ)架構(gòu),提供數(shù)據(jù)匯總和命令行即席查詢功能。

7)Mahout:可擴(kuò)展的機(jī)器學(xué)習(xí)和數(shù)據(jù)挖掘庫(kù)。

8)Pig:用于并行計(jì)算的高級(jí)數(shù)據(jù)流語(yǔ)言和執(zhí)行框架。

9)Spark:可高速處理Hadoop數(shù)據(jù)的通用計(jì)算引擎。Spark提供了一種簡(jiǎn)單而富有表達(dá)能力的編程模式,支持ETL、機(jī)器學(xué)習(xí)、數(shù)據(jù)流處理、圖像計(jì)算等多種應(yīng)用。

10)Tez:完整的數(shù)據(jù)流編程框架,基于YARN建立,提供強(qiáng)大而靈活的引擎,可執(zhí)行任意有向無(wú)環(huán)圖(DAG)數(shù)據(jù)處理任務(wù),既支持批處理又支持交互式的用戶場(chǎng)景。Tez已經(jīng)被Hive、Pig等Hadoop生態(tài)圈的組件所采用,用來(lái)替代 MapReduce作為底層執(zhí)行引擎。

11)ZooKeeper:用于分布式應(yīng)用的高性能協(xié)調(diào)服務(wù)。

除了以上這些官方認(rèn)可的Hadoop生態(tài)圈組件之外,還有很多十分優(yōu)秀的組件這里沒(méi)有介紹,這些組件的應(yīng)用也非常廣泛,例如基于Hive查詢優(yōu)化的Presto、Impala、Kylin等。

此外,在Hadoop生態(tài)圈的周邊,還聚集了一群“伙伴”,它們雖然未曾深入融合Hadoop生態(tài)圈,但是和Hadoop有著千絲萬(wàn)縷的聯(lián)系,并且在各自擅長(zhǎng)的領(lǐng)域起到了不可替代的作用。圖2是阿里云E-MapReduce平臺(tái)整合的Hadoop生態(tài)體系中的組件,比Apache提供的組合更為強(qiáng)大。

圖2 阿里云E-MapReduce的產(chǎn)品架構(gòu)

下面簡(jiǎn)單介紹其中比較重要的成員。

1)Presto:開(kāi)源分布式SQL查詢引擎,適用于交互式分析查詢,數(shù)據(jù)量支持GB到PB級(jí)。Presto可以處理多數(shù)據(jù)源,是一款基于內(nèi)存計(jì)算的MPP架構(gòu)查詢引擎。

2)Kudu:與HBase類似的列存儲(chǔ)分布式數(shù)據(jù)庫(kù),能夠提供快速更新和刪除數(shù)據(jù)的功能,是一款既支持隨機(jī)讀寫,又支持OLAP分析的大數(shù)據(jù)存儲(chǔ)引擎。

3)Impala:高效的基于MPP架構(gòu)的快速查詢引擎,基于Hive并使用內(nèi)存進(jìn)行計(jì)算,兼顧ETL功能,具有實(shí)時(shí)、批處理、多并發(fā)等優(yōu)點(diǎn)。

4)Kylin:開(kāi)源分布式分析型數(shù)據(jù)倉(cāng)庫(kù),提供Hadoop/Spark之上的SQL查詢接口及多維分析(OLAP)能力,支持超大規(guī)模數(shù)據(jù)的壓秒級(jí)查詢。

5)Flink:一款高吞吐量、低延遲的針對(duì)流數(shù)據(jù)和批數(shù)據(jù)的分布式實(shí)時(shí)處理引擎,是實(shí)時(shí)處理領(lǐng)域的新星。

6)Hudi:Uber開(kāi)發(fā)并開(kāi)源的數(shù)據(jù)湖解決方案,Hudi(Hadoop updates and incrementals)支持HDFS數(shù)據(jù)的修改和增量更新操作。

03Hadoop的優(yōu)缺點(diǎn)

如今,Hadoop已經(jīng)演化成了一個(gè)生態(tài)系統(tǒng),系統(tǒng)內(nèi)的組件千差萬(wàn)別,有的還是孵化階段,有的風(fēng)華正茂,有的垂垂老矣。其中,最經(jīng)久不衰的當(dāng)屬HDFS和Hive兩大組件,曇花一現(xiàn)的包括HBase、MapReduce、Presto等,風(fēng)華正茂的當(dāng)屬Spark和Flink。

古語(yǔ)有云,“成也蕭何,敗也蕭何”。大數(shù)據(jù)成功最核心的原因是開(kāi)源,但它存在的最大的問(wèn)題也是開(kāi)源。很多組件雖然依靠開(kāi)源可以快速成熟,但是一旦成熟,就會(huì)出現(xiàn)生態(tài)紊亂和版本割裂的情況,其中最典型的就是Hive。

Hive 1.x之前的版本功能不完善,1.x版和2.x版算是逐步優(yōu)化到基本可用了,到了3.x版又出現(xiàn)了各種問(wèn)題,并且大部分云平臺(tái)Hive版本都停留在2.x版,新版本推廣乏力。另外,Hive的計(jì)算引擎也是飽受爭(zhēng)議的,Hive支持的計(jì)算引擎主要有MapReduce、Tez、Spark、Presto。十多年來(lái)MapReduce的計(jì)算速度并沒(méi)有提升;Tez雖然計(jì)算速度快,但是安裝需要定制化編譯和部署;Spark的計(jì)算速度最快,但是對(duì)JDBC支持不友好;Presto計(jì)算速度快并且支持JDBC,但是語(yǔ)法又和Hive不一致。申明一下,這里說(shuō)的快只是相對(duì)MapReduce引擎而言的,跟傳統(tǒng)數(shù)據(jù)庫(kù)的速度相比仍然相差1到2個(gè)數(shù)量級(jí)。

總的來(lái)說(shuō),基于Hadoop開(kāi)發(fā)出來(lái)的大數(shù)據(jù)平臺(tái),通常具有以下特點(diǎn)。

1)擴(kuò)容能力:能夠可靠地存儲(chǔ)和處理PB級(jí)的數(shù)據(jù)。Hadoop生態(tài)基本采用HDFS作為存儲(chǔ)組件,吞吐量高、穩(wěn)定可靠。

2)成本低:可以利用廉價(jià)、通用的機(jī)器組成的服務(wù)器群分發(fā)、處理數(shù)據(jù)。這些服務(wù)器群總計(jì)可達(dá)數(shù)千個(gè)節(jié)點(diǎn)。

3)高效率:通過(guò)分發(fā)數(shù)據(jù),Hadoop可以在數(shù)據(jù)所在節(jié)點(diǎn)上并行處理,處理速度非???。

4)可靠性:Hadoop能自動(dòng)維護(hù)數(shù)據(jù)的多份備份,并且在任務(wù)失敗后能自動(dòng)重新部署計(jì)算任務(wù)。

Hadoop生態(tài)同時(shí)也存在不少缺點(diǎn)。

1)因?yàn)镠adoop采用文件存儲(chǔ)系統(tǒng),所以讀寫時(shí)效性較差,至今沒(méi)有一款既支持快速更新又支持高效查詢的組件。

2)Hadoop生態(tài)系統(tǒng)日趨復(fù)雜,組件之間的兼容性差,安裝和維護(hù)比較困難。

3)Hadoop各個(gè)組件功能相對(duì)單一,優(yōu)點(diǎn)很明顯,缺點(diǎn)也很明顯。

4)云生態(tài)對(duì)Hadoop的沖擊十分明顯,云廠商定制化組件導(dǎo)致版本分歧進(jìn)一步擴(kuò)大,無(wú)法形成合力。

5)整體生態(tài)基于Java開(kāi)發(fā),容錯(cuò)性較差,可用性不高,組件容易掛掉。

關(guān)于作者:王春波,資深架構(gòu)師和數(shù)據(jù)倉(cāng)庫(kù)專家,現(xiàn)任上海啟高信息科技有限公司大數(shù)據(jù)架構(gòu)師,Apache Doris和openGauss貢獻(xiàn)者,Greenplum中文社區(qū)參與者。 公眾號(hào)“數(shù)據(jù)中臺(tái)研習(xí)社”運(yùn)營(yíng)者。

 

本文摘編于《高效使用Greenplum:入門、進(jìn)階與數(shù)據(jù)中臺(tái)》,經(jīng)出版方授權(quán)發(fā)布。(書號(hào):9787111696490)轉(zhuǎn)載請(qǐng)保留文章來(lái)源。

 

責(zé)任編輯:武曉燕 來(lái)源: 數(shù)倉(cāng)寶貝庫(kù)
相關(guān)推薦

2013-11-04 16:57:21

Hadoop大數(shù)據(jù)Hadoop生態(tài)系統(tǒng)

2025-04-01 07:00:00

2011-12-09 11:02:52

NoSQL

2013-05-27 10:01:33

HadoopHadoop系統(tǒng)

2011-05-19 15:15:39

Oracle生態(tài)系統(tǒng)

2010-05-12 11:16:00

SAP

2017-08-02 13:08:30

物聯(lián)網(wǎng)生態(tài)系統(tǒng)邊緣計(jì)算

2023-10-11 15:11:08

智能建筑人工智能

2009-12-25 14:49:55

2019-01-13 15:00:52

區(qū)塊鏈生態(tài)系統(tǒng)

2021-11-23 20:54:34

AI 生態(tài)系統(tǒng)

2022-02-25 11:09:16

區(qū)塊鏈技術(shù)生態(tài)系統(tǒng)

2024-01-15 00:07:08

JS生態(tài)系統(tǒng)

2012-04-25 10:52:30

生態(tài)系統(tǒng)AppleGoogle

2015-04-01 11:23:23

2015-06-08 12:44:58

大數(shù)據(jù)InterlAMPCamp

2017-06-23 21:07:15

大數(shù)據(jù)HadoopHBase

2020-06-28 08:21:11

物聯(lián)網(wǎng)生態(tài)技術(shù)

2023-01-27 18:49:03

軟件生態(tài)系統(tǒng)

2010-06-03 18:59:59

未來(lái)網(wǎng)絡(luò)MX 3D路由器Juniper
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)