《企業(yè)網(wǎng)D1Net》3月18日訊
Apache Hadoop的發(fā)展已經(jīng)經(jīng)歷了很長一段時(shí)間,也經(jīng)歷也一段從初生到成熟之旅,在Apache Hadoop的起步階段,主要支持類似搜索引擎的功能。如今,Hadoop已經(jīng)被數(shù)十個(gè)行業(yè)采用,它們依靠大數(shù)據(jù)計(jì)算來提升業(yè)務(wù)處理性能。政府、制造業(yè)、醫(yī)療保健、零售業(yè)和其他部門越來越多的從經(jīng)濟(jì)發(fā)展和Hadoop計(jì)算能力中受益,然而受到傳統(tǒng)企業(yè)解決方案限制的公司將會(huì)發(fā)現(xiàn)競爭變得越來越殘酷。
選擇一個(gè)合適的Hadoop發(fā)行版和在業(yè)務(wù)中應(yīng)用Hadoop一樣有必要。最終,你會(huì)發(fā)現(xiàn)選擇哪種Hadoop發(fā)行版取決于主機(jī)的規(guī)格,盡管性能和擴(kuò)展性才是你應(yīng)該仔細(xì)檢查的兩個(gè)主要特性。讓我們了解一下一些具體的Hadoop性能和擴(kuò)展性要求,以及對幾個(gè)關(guān)鍵架構(gòu)的要求。
性能
企業(yè)需要擺脫傳統(tǒng)的數(shù)據(jù)庫解決方案來管理數(shù)據(jù),主要原因是為了增加原始性能并獲得可擴(kuò)展性。這可能會(huì)讓你感到驚訝,因?yàn)椴⒉皇撬袆?chuàng)建出的Hadoop分布系統(tǒng)都一樣。
在我的另一篇文章中曾講到,增加250毫秒的延遲可能會(huì)毀掉整個(gè)線上銷售的旺季,我們可以了解一下為什么性能的低下(高延遲)會(huì)讓人難以忍受。網(wǎng)站性能的遲緩會(huì)使線上的銷售轉(zhuǎn)化率下降7%,這對于流量很大的線上零售商來說意味著數(shù)百萬美元的損失。
正如你在下圖看到的那樣,將MapR M7版本與另一個(gè)Hadoop發(fā)行版對比,在延遲上的差別意味著性能的不同,而不同發(fā)行版之間性能差距也是驚人的。
當(dāng)你考慮Hadoop的實(shí)時(shí)應(yīng)用時(shí),比如金融安全系統(tǒng)的實(shí)時(shí)應(yīng)用,那樣對高性能增加的要求甚至更高。
要特別感謝像Hadoop這樣的技術(shù),它使金融罪犯竊取數(shù)字資產(chǎn)變得越來越難,金融服務(wù)公司比如Zions銀行現(xiàn)在已經(jīng)能夠在銀行客戶感覺到任何實(shí)質(zhì)性影響之前阻止財(cái)務(wù)欺詐。對于分析和實(shí)時(shí)數(shù)據(jù)響應(yīng)來說,高性能和可靠性很有必要,這可以阻止破壞性欺詐活動(dòng)。
擴(kuò)展性
Hadoop的另一個(gè)主要優(yōu)點(diǎn)是可擴(kuò)展性。不用通過單一的企業(yè)服務(wù)器限制數(shù)據(jù)吞吐量,Hadoop可以跨計(jì)算機(jī)集群完成對大型數(shù)據(jù)集的分布式處理,從而在商品化硬件多個(gè)部分之間采用逐個(gè)擊破的辦法消除數(shù)據(jù)上限。
這種體系結(jié)構(gòu)只是數(shù)據(jù)可擴(kuò)展性提升的起點(diǎn),還遠(yuǎn)沒有結(jié)束。關(guān)于可擴(kuò)展性,Hadoop平臺(tái)內(nèi)還有三個(gè)方面需要進(jìn)一步考慮:
文件瓶頸
Hadoop默認(rèn)的體系結(jié)構(gòu)利用單一NameNode作為剩余數(shù)據(jù)節(jié)點(diǎn)的主節(jié)點(diǎn)。因?yàn)閱蝹€(gè)NameNode,所有數(shù)據(jù)被迫進(jìn)入到一個(gè)瓶頸期,這就將Hadoop集群限制在只能有5000萬到2億個(gè)文件。
單個(gè)NameNode的執(zhí)行情況也需要使用商業(yè)級NAS,而不是預(yù)算友好型的商品化硬件。
對于單一NameNode體系結(jié)構(gòu)有一種更好的選擇——使用分布式元數(shù)據(jù)結(jié)構(gòu)。下面提供兩種體系結(jié)構(gòu)的可視化比較:
正如你所看到的那樣,分布式元數(shù)據(jù)架構(gòu)使用的完全是商品化硬件,不僅節(jié)省了成本,它還使性能提升了10-20倍,擺脫了文件瓶頸,使文件數(shù)上限達(dá)到了10億,比單個(gè)NameNode的體系結(jié)構(gòu)在容量上提升了5000倍,這確實(shí)是很大的成功。
節(jié)點(diǎn)擴(kuò)展
Hadoop的一些較小用戶對數(shù)據(jù)存儲(chǔ)和處理并沒有太高要求,因此能夠在更少的節(jié)點(diǎn)上運(yùn)行,而有些Hadoop實(shí)現(xiàn)則可以達(dá)到了數(shù)千節(jié)點(diǎn)的規(guī)模。
這也是Hadoop可擴(kuò)展性非常出色的地方。從一個(gè)入門級大數(shù)據(jù)實(shí)現(xiàn)擴(kuò)展到具有數(shù)千個(gè)節(jié)點(diǎn)的集群很容易,按照需求增加商品化硬件可以使成本最小化,這涉及到數(shù)據(jù)處理成本以及需求增加所需投入的成本。
節(jié)點(diǎn)容量
除了節(jié)點(diǎn)的數(shù)量,考慮到物理存儲(chǔ)限制,Hadoop用戶還應(yīng)該檢查每個(gè)處理和存儲(chǔ)容量。你可以使用具有更高磁盤密度的節(jié)點(diǎn)減少總體節(jié)點(diǎn)數(shù)量,同時(shí)還能保證數(shù)據(jù)存儲(chǔ)的要求。
架構(gòu)基礎(chǔ)
Hadoop的性能和可擴(kuò)展性可以被進(jìn)一步提升,前提是你要有多架構(gòu)基礎(chǔ)分布式系統(tǒng)的思想。
減少軟件層
軟件層太多,會(huì)導(dǎo)致導(dǎo)航成本的增加,使Hadoop系統(tǒng)的性能很難得到提升。
使所有應(yīng)用程序在同一個(gè)平臺(tái)上運(yùn)行
一些Hadoop發(fā)行版可能會(huì)要求你創(chuàng)建多個(gè)實(shí)例,一個(gè)優(yōu)化執(zhí)行將使同一個(gè)環(huán)境中所有的工作負(fù)載被同時(shí)處理,這就減少了重復(fù)數(shù)據(jù)的產(chǎn)生,因此提高了可擴(kuò)展性和性能。
利用公共云平臺(tái)獲取更好的彈性和可擴(kuò)展性
一個(gè)好的發(fā)行版使你可以在自己的防火墻內(nèi)靈活地使用Hadoop以及可靠的云環(huán)境,比如亞馬遜網(wǎng)絡(luò)服務(wù)和谷歌計(jì)算引擎。
最后,選擇正確的Hadoop發(fā)行版應(yīng)符合業(yè)務(wù)需求,不僅僅考慮當(dāng)前的需求還應(yīng)考慮未來的需求。分析每個(gè)發(fā)行版的性能和可擴(kuò)展性,同時(shí)考慮架構(gòu)基礎(chǔ),這也是在組織內(nèi)成功實(shí)施和評估Hadoop的基礎(chǔ)。
D1Net評論:
選擇正確的Hadoop應(yīng)結(jié)合自身實(shí)際,參考以上幾種因素,進(jìn)行客觀分析,做出慎重選擇,對于用戶而言,選擇合適的Hadoop是非常關(guān)鍵的,如果在選擇環(huán)節(jié)出現(xiàn)問題,那么在應(yīng)用過程中就出現(xiàn)很多隱患。