大多數(shù)企業(yè)大數(shù)據(jù)應用案例尚處于實驗和試點階段,對于少數(shù)首次在生產(chǎn)環(huán)境部署Hadoop系統(tǒng)的用戶來說,最常遇到的就是擴展問題,此類問題往往導致企業(yè)因噎廢食,終止大數(shù)據(jù)應用項目。
部署和擴展Hadoop系統(tǒng)是一件高度復雜的事情,如果用戶能提前對Hadoop擴展可能會遇到的各種問題和危險信號有所了解,就能避免很多“救火”場面。
以下是Altiscale的Raymie Stata為我們總結(jié)的Hadoop大數(shù)據(jù)系統(tǒng)出現(xiàn)擴展問題的七大危險信號:
危險信號一: 永遠進入不了生產(chǎn)階段
大數(shù)據(jù)應用從概念驗證到生產(chǎn)環(huán)境是一個巨大的飛躍,Hadoop系統(tǒng)的可擴展性將面臨巨大的挑戰(zhàn)。生產(chǎn)環(huán)境的數(shù)據(jù)規(guī)模產(chǎn)生的一些問題實驗環(huán)境很難碰到。另外數(shù)據(jù)本身也存在差異,概念驗證階段使用的測試數(shù)據(jù)集往往是不真實的,或者類型單一。
在進入生產(chǎn)環(huán)境前,大數(shù)據(jù)團隊需要對Hadoop系統(tǒng)進行模擬真實數(shù)據(jù)規(guī)模的壓力測試,此類測試能夠檢驗大數(shù)據(jù)應用的可擴展性和容錯性能,還能幫你做出更加準確的性能(資源需求)規(guī)劃模型。
危險信號二: 分析計算任務不斷超時
當Hadoop集群中運行的大數(shù)據(jù)應用很少或者只有一個時,一切都行云流水,按部就班,但是隨著Hadoop集群的增長,數(shù)據(jù)分析任務的運行時間變得難以預測起來。一開始,只是有零星的超時現(xiàn)象,問題容易被忽視,但隨著時間增長,超時問題會越來越嚴重,最后導致危機。
在危機爆發(fā)前,你必須提前采取行動,根據(jù)任務峰值調(diào)整計算性能規(guī)劃模型。
危險信號三: 你開始告訴人們不要保留所有數(shù)據(jù)
危機出現(xiàn)的另一個征兆是數(shù)據(jù)保留時間窗口不斷縮水。一開始你想保留13個月的數(shù)據(jù)進行年度分析。但是由于空間限制,你開始減少保留數(shù)據(jù)的月份數(shù)。到最后,你的Hadoop系統(tǒng)因為沒有足夠多的數(shù)據(jù)而不再是“大數(shù)據(jù)”系統(tǒng)。
數(shù)據(jù)保留窗口的縮水是因為存儲的擴展性遇到問題,這與前面的計算性能問題類似。當你的容量預測模型出現(xiàn)問題時,需要盡快調(diào)整。
危險信號四: 數(shù)據(jù)科學家被“餓死”
任務負荷過重的Hadoop集群會扼殺創(chuàng)新,因為數(shù)據(jù)科學家們將沒有足夠的計算資源來開展大型任務,也沒有足夠的空間來存儲中間結(jié)果。
性能和容量規(guī)劃通常會忽略或者低估數(shù)據(jù)科學家的需求,在加之前面提到的對生產(chǎn)環(huán)境任務的估計不足,會嚴重限制數(shù)據(jù)科學家的開拓性和創(chuàng)新性工作。
危險信號五:數(shù)據(jù)科學家們開始查看Stack Overflow
在Hadoop系統(tǒng)部署的早期,你的運營團隊與科學家緊密協(xié)作。運營團隊隨時為數(shù)據(jù)科學家提供支持。(編者按:類似串聯(lián)的協(xié)作模式)但是當Hadoop 系統(tǒng)成功上線后,系統(tǒng)的運維和擴展任務就會讓運營團隊疲于奔命,這時候數(shù)據(jù)科學家遇到Hadoop問題就只好自己解決,例如經(jīng)常去技術問答網(wǎng)站Stack Overflow查看問題帖子。
危險信號六:數(shù)據(jù)中心越來越熱
數(shù)據(jù)中心服務器的電力都不是按服務器的功率峰值配置的,但是一個Hadoop集群運行任務的時候經(jīng)常會連續(xù)“拷機”數(shù)小時,會燒壞功率不匹配的供電線路,同樣的問題也存在于制冷系統(tǒng)中。部署Hadoop系統(tǒng)時請確保數(shù)據(jù)中心支持其長時間全速運行。
危險信號七:費用超支
基于IaaS的Hadoop部署,例如AWS,在支出上是失控的。一個月的費用很有可能是上個月的三倍,遠遠超出你的預算。
性能規(guī)劃對于基于IaaS的Hadoop部署來說也是非常重要的,但是好的性能規(guī)劃只是開始,如果你需要擴展IaaS上的Hadoop系統(tǒng),那么你需要學習Netflix在成本監(jiān)控和優(yōu)化系統(tǒng)上投入大量資金。