精品国产一级在线观看,国产成人综合久久精品亚洲,免费一级欧美大片在线观看

飛起來(lái)的大象:Hadoop從離線(xiàn)到在線(xiàn)

責(zé)任編輯:editor007

2015-04-10 17:23:57

摘自:騰訊大數(shù)據(jù)

社區(qū)對(duì)Yarn的定位開(kāi)始更加通用化,也更面向服務(wù),尤其可以面向7×24小時(shí)的服務(wù),針對(duì)這些服務(wù),系統(tǒng)需要更加健壯,可靠性更高

時(shí)代在變遷,市場(chǎng)在變化,周邊的軟硬件環(huán)境也突飛猛進(jìn)般的發(fā)展,同時(shí)企業(yè)的業(yè)務(wù)需求也不斷升級(jí),從規(guī)模到成本都有較高的要求,這刺激Hadoop生態(tài)圈的變革。據(jù)AMR研究顯示,到2020年Hadoop將擁有502億美元市場(chǎng)。如此多金誘惑下,各大解決方案提供商對(duì)Hadoop生態(tài)圈的發(fā)力可謂是越來(lái)越快,順應(yīng)潮流,Hadoop生態(tài)圈也更為完善和成熟,更是劃分出了子生態(tài)圈如Spark。正是在這樣一個(gè)背景下,Hadoop的順利度過(guò)了2014年。

飛起來(lái)的大象:Hadoop從離線(xiàn)到在線(xiàn)

  2014業(yè)內(nèi)哪些事情值得關(guān)注

1)大數(shù)據(jù)解決方案提供商hortonworks上市。

大數(shù)據(jù)軟件提供商hortonworks于2014年11月11日向美國(guó)證監(jiān)會(huì)提出IPO申請(qǐng),這標(biāo)志著Hadoop技術(shù)發(fā)展開(kāi)始走入商業(yè)階段,更標(biāo)志著Hadoop技術(shù)從2014年開(kāi)始真正的成熟了。

2)Hadoop2在開(kāi)始大規(guī)模落地。

Hadoop2從提出到發(fā)展至今經(jīng)歷了數(shù)年時(shí)間,國(guó)內(nèi)外有很多公司在嘗試Hadoop2的架構(gòu),在這個(gè)階段引領(lǐng)業(yè)內(nèi)潮流并非主流大企業(yè),率先嘗試的反而是一些小公司。這些小公司數(shù)據(jù)量小,規(guī)模不大,遷移方便,但這些企業(yè)的嘗試規(guī)模無(wú)法真正驗(yàn)證出問(wèn)題,2013年國(guó)外如yahoo開(kāi)始嘗試Hadoop2的落地,并有了業(yè)內(nèi)4500臺(tái)左右的最大Yarn集群,國(guó)內(nèi)如阿里、美團(tuán)等企業(yè)都在嘗試Yarn都取得了幾百上千臺(tái)的成績(jī),2014年國(guó)內(nèi)騰訊Yarn集群規(guī)模接近萬(wàn)臺(tái)。

3)國(guó)內(nèi)Spark氛圍漸濃,欲與Hadoop試比高。

2014年Spark是個(gè)爆發(fā)年,這一年里Spark社區(qū)快速發(fā)布了多個(gè)版本,最高版本已經(jīng)到了1.2.0。Spark先是廢棄了Shark然后大力發(fā)展Spark SQL,與此同時(shí)Spark Streaming也更為成熟;Spark社區(qū)內(nèi)部?jī)?yōu)化無(wú)數(shù),空前活躍,各種會(huì)議、研究、探討,圍繞Spark本身的周邊配套系統(tǒng)也越來(lái)越多,形成了Hadoop生態(tài)圈內(nèi)的不可忽視的小生態(tài)圈。國(guó)內(nèi)外大小企業(yè)都在嘗試Spark,如EBay,根據(jù)當(dāng)前公開(kāi)文獻(xiàn)資料,EBay構(gòu)建了一個(gè)大約2000臺(tái)的Spark集群;如騰訊,構(gòu)建了一個(gè)大約2000臺(tái)左右的Spark集群,通過(guò)Spark挖掘運(yùn)算之后的模型提供給廣告推薦使用,給騰訊廣告帶來(lái)了100億規(guī)模的收入;百度構(gòu)建了大約1300臺(tái)的Spark集群。

盤(pán)點(diǎn)2014年展望2015的技術(shù)發(fā)展:

1 HDFS – 高度挖掘資源利用率的存儲(chǔ)

2014年HDFS發(fā)布了主要以下特性。

1)更方便的在線(xiàn)升級(jí):

HDFS支持在線(xiàn)升級(jí),F(xiàn)SImage通ProtocolBuffer序列化與反序列化,元數(shù)據(jù)升級(jí)也更為方便。

2)異構(gòu)存儲(chǔ):

在HDFS支持異構(gòu)存儲(chǔ)媒介的之前,HDFS假設(shè)底層存儲(chǔ)媒介是同構(gòu)的,性能完全一樣,比如全是HDD(機(jī)械盤(pán)),但隨著新型媒介的出現(xiàn)以及對(duì)應(yīng)成本的下降,很多公司開(kāi)始嘗試使用新的存儲(chǔ)媒介,比如SSD。基于此,HDFS也緊跟時(shí)代發(fā)展潮流,將支持異構(gòu)存儲(chǔ)媒介,即一個(gè)HDFS的各個(gè)存儲(chǔ)節(jié)點(diǎn)上可以指定若干不同的存儲(chǔ)媒介,比如HDD、SSD等,這樣,用戶(hù)可以根據(jù)應(yīng)用特點(diǎn)將不同類(lèi)型數(shù)據(jù)存儲(chǔ)在不同媒介上,以滿(mǎn)足性能需求。

3)集中管理的DataNode緩存:

即DataNode緩存,目前HDFS中個(gè)DataNode上緩存的數(shù)據(jù)并沒(méi)有通過(guò)適當(dāng)?shù)耐緩奖┞督o外界應(yīng)用程序,尤其是Spark、Hive、Pig、Impala等這樣的計(jì)算框架無(wú)法充分利用DataNode的內(nèi)存進(jìn)行計(jì)算優(yōu)化,比如本地內(nèi)存、讀優(yōu)化等。該功能將集中管理DataNode緩存,并且統(tǒng)一控制哪些文件需要加載到緩存中來(lái), 從而提高讀取性能。

4)端到端的加密:

HDFS實(shí)現(xiàn)了一個(gè)透明的,端到端的加密方式。一旦配置了加密,從HDFS讀出數(shù)據(jù)解密和寫(xiě)入數(shù)據(jù)加密的過(guò)程對(duì)用戶(hù)應(yīng)用程序來(lái)說(shuō)都是透明的。加密過(guò)程是端到端的,這意味著數(shù)據(jù)只能在應(yīng)用程序解密。

(5)Archival Storage:

將計(jì)算能力與不斷增長(zhǎng)的存儲(chǔ)能力分離。擁有高密度低成本的存儲(chǔ)但是計(jì)算能力較低的節(jié)點(diǎn)將變得利用率更高,比如可以在集群中做冷存儲(chǔ)。增加更多的此類(lèi)節(jié)點(diǎn)作為冷存儲(chǔ)可以提高集群的存儲(chǔ)能力,跟集群的計(jì)算能力無(wú)關(guān)。

未來(lái)HDFS社區(qū)將發(fā)展跨數(shù)據(jù)中心的容災(zāi):

目前的HDFS只支持機(jī)房?jī)?nèi)的容災(zāi),而且目前的HDFS不支持跨機(jī)房部署,無(wú)法提供更大規(guī)模的全球可用的服務(wù);在跨機(jī)房同步數(shù)據(jù)方面也只能依賴(lài)一些導(dǎo)入導(dǎo)出工具離線(xiàn)的操作。HDFS計(jì)劃未來(lái)支持部署在多機(jī)房,實(shí)現(xiàn)跨機(jī)房容災(zāi),零丟失率,低延時(shí)。

2 YARN – 面向通用化和服務(wù)化

社區(qū)對(duì)Yarn的定位開(kāi)始更加通用化,也更面向服務(wù),尤其可以面向7×24小時(shí)的服務(wù),針對(duì)這些服務(wù),系統(tǒng)需要更加健壯,可靠性更高,因此2014年Yarn發(fā)布了以下主要特性:

1)ResourceManager HA:

在hadoop 2.4.1版本中ResourceManager新增HA功能,這意味著集群中最大的單點(diǎn)解決了,系統(tǒng)可用性大大提升。

2)支持Docker:

Yarn的新版本中,支持了Docker,Yarn將使用Docker解決每個(gè)container執(zhí)行環(huán)境的問(wèn)題。使用Docker的Yarn集群將得到更好的資源隔離性,并可以更快速的部署 – Docker有強(qiáng)大的鏡像存儲(chǔ)和分發(fā)能力,開(kāi)發(fā)者可以很方便的從鏡像中心獲取Hadoop YARN應(yīng)用的鏡像。

Yarn未來(lái)社區(qū)發(fā)展方向:

社區(qū)正在針對(duì)NodeManager HA特性研發(fā),不久之后就會(huì)問(wèn)世。從2014年的發(fā)展和社區(qū)最新的動(dòng)向來(lái)看,社區(qū)對(duì)Yarn的規(guī)劃是更通用化,更面向服務(wù),尤其在7×24小時(shí)服務(wù)能力方面重點(diǎn)加強(qiáng)。

3 Spark – 高度活躍的小生態(tài)圈

Spark社區(qū)在2014年里共發(fā)布了四個(gè)版本,平均每個(gè)季度一個(gè),這里每個(gè)版本都有一些新的功能和特性,使得Spark功能越來(lái)越豐富,更加可靠和高效。

2014年Spark發(fā)布了主要以下特性:

1)Standalone模式

增加Standalone模式下運(yùn)行的HA功能,使得Spark Streaming的Driver在Standalone模式下當(dāng)Driver丟失后可自動(dòng)恢復(fù)。

2)GraphX

增加了多個(gè)算法,包括PageRank、SVD++、標(biāo)簽傳播算法并進(jìn)入穩(wěn)定版本。

3)Mllib

新增SVN、PCA、L-BFGS、Word2Vec和TF-IDF、Navie Bayes、Random forests和Gradient-boosted算法,并支持learning pipelines機(jī)制這使得多個(gè)算法可以在一遍處理過(guò)程中執(zhí)行完成。

4)Spark SQL

已經(jīng)與Hive 0.13兼容,并可以支持動(dòng)態(tài)分區(qū)插入,同時(shí)引入了動(dòng)態(tài)字節(jié)碼生成功能,同時(shí)支持多種語(yǔ)言編寫(xiě)的UDF函數(shù)。

5)Driver

實(shí)現(xiàn)了通過(guò)WAL機(jī)制來(lái)保證HA。

未來(lái)Spark社區(qū):

Spark社區(qū)發(fā)展快速,已經(jīng)形成了Hadoop生態(tài)圈下的小生態(tài)圈,并且以獨(dú)立形式運(yùn)作,支持高效的內(nèi)存文件系統(tǒng)和更快速,更豐富的計(jì)算,成為Hadoop的一個(gè)強(qiáng)有力的補(bǔ)充計(jì)算引擎。

4 MR – 持續(xù)優(yōu)化

2014年MapReduce發(fā)布了以下主要特性

1)Shuffle Handler提供了keep-alive機(jī)制,提高了Shuffle的效率。

2)提供了斷點(diǎn)恢復(fù)的機(jī)制:

這使得已完成MapTask不需要因?yàn)镹odeManger重啟而重跑。

3)計(jì)算前數(shù)據(jù)切分這一步獲取文件信息并行化。

4)提供了Rehash Partitioner機(jī)制,這個(gè)方案使Key的分布更均勻。

5)ApplicationManger由于ResourceManger HA的特性減少了失敗重跑的代價(jià)。

6)支持任務(wù)內(nèi)資源搶占機(jī)制。

未來(lái)社區(qū)發(fā)展方向:

1)由于搶占機(jī)制的引入提高了資源被搶占的概率,但為了減少Task被搶占的代價(jià),Task斷點(diǎn)恢復(fù)的機(jī)制加入到規(guī)劃當(dāng)中。

2)當(dāng)前中間結(jié)果量的遞增,引起磁盤(pán)隨機(jī)讀寫(xiě)次數(shù)增加導(dǎo)致性能非線(xiàn)性下降,未來(lái)將中間結(jié)果按Partition聚合和批處理等方案也在討論當(dāng)中。

5 HBase – 1.0時(shí)代

HBase開(kāi)始進(jìn)入1.0時(shí)代,系統(tǒng)在穩(wěn)定性、可用性、易用性方面有質(zhì)的提升,主要體現(xiàn)的特性如下:

1)HydraBase:

提供高可靠性:Region的副本只有一個(gè)是關(guān)鍵Region支持寫(xiě)入,其余的都是在線(xiàn)副本;設(shè)定一個(gè)延遲,這個(gè)延遲以?xún)?nèi)關(guān)鍵Region沒(méi)有應(yīng)答,就把請(qǐng)求發(fā)給其他在線(xiàn)副本,保證一致性和可靠性。

Replication Protocol:一組副本之間將只有一個(gè)leader,系統(tǒng)將使用RAFT協(xié)議來(lái)完成leader的選舉,leader響應(yīng)client所有讀取和寫(xiě)入的請(qǐng)求,每個(gè)副本都會(huì)有自己的wal并存儲(chǔ)在本地,寫(xiě)操作將由leader同步復(fù)制到其他副本。

RMAP:RMAP包含每個(gè)Region的quorum配置信息

基于到client的網(wǎng)絡(luò)延遲,每個(gè)數(shù)據(jù)中心都將有一個(gè)Rank,RT最低的數(shù)據(jù)中心將具有最高等級(jí)的Rank,數(shù)據(jù)中心Rank排名較高、有quorum member資格的將能夠接管領(lǐng)導(dǎo)權(quán),較高等級(jí)(數(shù)據(jù)中心Rank加 機(jī)器Rank)的副本將最優(yōu)可能成為leader。

具體架構(gòu)見(jiàn)下圖:

飛起來(lái)的大象:Hadoop從離線(xiàn)到在線(xiàn)

飛起來(lái)的大象:Hadoop從離線(xiàn)到在線(xiàn)

6 Hive – 性能優(yōu)化

Hive社區(qū)在SQL性能優(yōu)化方面做了大量工作,在2014年取得了許多的突破和進(jìn)展:

1)ORCFile存儲(chǔ)格式完善

豐富了ORCFile的統(tǒng)計(jì)信息(提供stripe level的列統(tǒng)計(jì)信息)以及外圍的接口,讓元數(shù)據(jù)庫(kù)中存儲(chǔ)的統(tǒng)計(jì)信息和ORCFile中的統(tǒng)計(jì)信息可以配合使用,進(jìn)一步降低數(shù)據(jù)讀取的代價(jià)

2)Hive on Tez

Tez是一個(gè)基于Yarn的DAG計(jì)算引擎,相比于MapReduce,Tez可以更加靈活的描述計(jì)算過(guò)程,減少中間結(jié)果落地的次數(shù),大大提高了計(jì)算效率。Hive On Tez使得那些需要多步MapReduce計(jì)算的復(fù)雜SQL的執(zhí)行效率明顯提升

3)向量執(zhí)行

向量查詢(xún)執(zhí)行是hive的一大特性,可以顯著降低一些典型查詢(xún)操作的cpu使用率,如掃描、過(guò)濾、聚合和連接。傳統(tǒng)hive的查詢(xún)執(zhí)行是按行進(jìn)行處理,這樣效率很低,向量查詢(xún)計(jì)劃是批量處理數(shù)據(jù),一次處理上千行數(shù)據(jù),每列表示成一個(gè)向量,內(nèi)部循環(huán)掃描這些列向量,沒(méi)有方法調(diào)用、反序列化、條件語(yǔ)句等額外開(kāi)銷(xiāo),提高cpu指令流水線(xiàn)的利用率,從而大大減少cpu的使用。使用此種方式,數(shù)據(jù)存儲(chǔ)必須是ORC格式的。目前支持此種方式的數(shù)據(jù)類(lèi)型有: tinyint, smallint, int, bigint, boolean, float, double, decimal, date, timestamp, string。支持此種方式的表達(dá)式有:算術(shù)表達(dá)式、邏輯表達(dá)式、比較表達(dá)式、數(shù)學(xué)函數(shù)、字符串函數(shù)、用戶(hù)自定義函數(shù)、類(lèi)型轉(zhuǎn)換、日期函數(shù)和if表達(dá)式。

Hive從0.13版本加入此特性。

4)基于代價(jià)的優(yōu)化器

Hive的基于代價(jià)的優(yōu)化器使用了開(kāi)源軟件Optiq來(lái)獲取更優(yōu)的的執(zhí)行計(jì)劃。Optiq擁有超過(guò)50種優(yōu)化手段,通過(guò)它以及數(shù)據(jù)統(tǒng)計(jì)信息,Hive可以方便的實(shí)現(xiàn)Join最優(yōu)算法,Join最優(yōu)順序的選擇等。同時(shí)它也提升了Hive的易用性,它的存在使得無(wú)需用戶(hù)過(guò)多的參與就能得到比較優(yōu)化的執(zhí)行計(jì)劃,從而提升SQL執(zhí)行效率

5)SQL 完整性

除了性能的優(yōu)化工作之外,Hive社區(qū)也在持續(xù)建設(shè)SQL的完整性:例如在where子句中使用子查詢(xún)的功能(IN/NOT IN, EXIST/NOT EXIST);引入了類(lèi)似Oracle/PostgreSQL的CTES語(yǔ)法和功能,進(jìn)一步加強(qiáng)SQL的表達(dá)能力;加入char數(shù)據(jù)類(lèi)型,完善Decimal數(shù)據(jù)類(lèi)型

未來(lái)社區(qū)發(fā)展:

社區(qū)計(jì)劃以完善當(dāng)前版本為主要目標(biāo),但更值得注意的是Hive On Spark工作,Spark目前發(fā)展迅速,大有與MapReduce分庭抗禮之勢(shì)。目前Hive On Spark已經(jīng)完成基本功能開(kāi)發(fā)以及大部分的bugfix,估計(jì)在2015年會(huì)正式發(fā)布,值得期待。

7 Tez – 孵化成功

Tez是什么?Tez這樣一個(gè)新興的技術(shù)對(duì)大家來(lái)說(shuō)比較陌生,但Tez確是Hadoop家族最有想象力的一個(gè)突破。Tez產(chǎn)生的主要原因是繞開(kāi)MapReduce所施加的限制。除了必須要編寫(xiě)Mapper和Reducer的限制之外,強(qiáng)制讓所有類(lèi)型的計(jì)算都滿(mǎn)足這一范例還有效率低下的問(wèn)題——例如使用HDFS存儲(chǔ)多個(gè)MR作業(yè)之間的臨時(shí)數(shù)據(jù),這是一個(gè)負(fù)載。Tez主要應(yīng)用了DAG計(jì)算模型,它可以將多個(gè)有依賴(lài)的作業(yè)轉(zhuǎn)換為一個(gè)作業(yè)從而大幅提升DAG作業(yè)的性能。2014年Tez成功從Apache項(xiàng)目孵化器中脫離出來(lái)成為Apache的頂級(jí)項(xiàng)目之一,這預(yù)示著Tez開(kāi)始走向成熟化和產(chǎn)品化。

目前Tez擁有如下幾點(diǎn)主要特性:

1)比原生Hadoop MapReduce更好的性能。使用Tez的調(diào)度框架可以減少其中不必要的處理階段,如MRMR我們可以簡(jiǎn)化為MRR,參考架構(gòu)示意圖如下:

飛起來(lái)的大象:Hadoop從離線(xiàn)到在線(xiàn)

2)具有表現(xiàn)力的數(shù)據(jù)流API。

3)靈活:可以通過(guò)連接不同的輸入、處理器和輸出動(dòng)態(tài)地構(gòu)建運(yùn)行時(shí)執(zhí)行器。

4)數(shù)據(jù)類(lèi)型無(wú)關(guān)性:僅關(guān)心數(shù)據(jù)的移動(dòng),不關(guān)心數(shù)據(jù)格式。

5)對(duì)MapReduce的無(wú)縫兼容,Tez能夠運(yùn)行任意MR任務(wù),不需要做任何改動(dòng)。

未來(lái)社區(qū)計(jì)劃

2014中Tez主要發(fā)布了0.5.x系列版本,但大多以bugfix為主題,因此從這點(diǎn)來(lái)看2015未來(lái)社區(qū)也仍舊以穩(wěn)定成熟為目標(biāo)。

Hadoop社區(qū)雖然繁榮,但無(wú)法完全覆蓋各種應(yīng)用場(chǎng)景,即使可用也未必是最優(yōu)方案,尤其在一些頂級(jí)企業(yè)中,面臨的數(shù)據(jù)量都是海量的,社區(qū)的系統(tǒng)甚至無(wú)法考驗(yàn)的。不得不提,面對(duì)無(wú)法覆蓋的需求,有實(shí)力的企業(yè)會(huì)自主研發(fā)各種差異化的系統(tǒng)。如百度自己研發(fā)了類(lèi)似Yarn一樣的調(diào)度系統(tǒng),阿里自主研發(fā)了類(lèi)似Hadoop的飛天系統(tǒng),這段時(shí)期跟社區(qū)走的最近的騰訊自己維護(hù)的Hadoop版本跟社區(qū)對(duì)比也有很大差異,針對(duì)大數(shù)據(jù)的快速多維檢索也有Hermes這類(lèi)產(chǎn)品。

不得不說(shuō)的持續(xù)的技術(shù)投入,重復(fù)成本較多,開(kāi)源成為了社會(huì)進(jìn)步的主要元素。BAT企業(yè)在開(kāi)源這塊最近幾年貢獻(xiàn)頗多,成為國(guó)內(nèi)開(kāi)源技術(shù)的引領(lǐng)者,這是一種進(jìn)步是一種希望,也是在針尖對(duì)麥芒的商業(yè)背后的一種合作。由衷的希望社會(huì)能保持這種合作,讓技術(shù)最大化的成長(zhǎng),讓生態(tài)圈更完善。

鏈接已復(fù)制,快去分享吧

企業(yè)網(wǎng)版權(quán)所有?2010-2025 京ICP備09108050號(hào)-6京公網(wǎng)安備 11010502049343號(hào)

  • <menuitem id="jw4sk"></menuitem>

    1. <form id="jw4sk"><tbody id="jw4sk"><dfn id="jw4sk"></dfn></tbody></form>
      主站蜘蛛池模板: 乌恰县| 霍林郭勒市| 贞丰县| 班玛县| 玉门市| 曲沃县| 开原市| 阿拉善右旗| 缙云县| 梅河口市| 无为县| 天长市| 都安| 城口县| 健康| 襄城县| 聂拉木县| 连云港市| 綦江县| 若尔盖县| 平定县| 乌兰察布市| 根河市| 珠海市| 石门县| 荥经县| 仁化县| 双峰县| 齐河县| 伊金霍洛旗| 宁国市| 闽清县| 赤城县| 平南县| 西乌珠穆沁旗| 兴城市| 穆棱市| 原阳县| 项城市| 石嘴山市| 万荣县|