基于Yarn的一系列Hadoop應(yīng)用如Spark灌闺、Storm和Presto等的出現(xiàn)再一次降低了企業(yè)步入大數(shù)據(jù)的門檻夹供,大數(shù)據(jù)應(yīng)用安全性得以提高戚炫,企業(yè)的商業(yè)價(jià)值也獲得潛在提升袭厂,大批企業(yè)為之欣喜若狂墨吓。然而,在瘋狂搭建大數(shù)據(jù)應(yīng)用的背后纹磺,作為企業(yè)用戶帖烘,如果無(wú)法成功而高效的管理大數(shù)據(jù)應(yīng)用,確保大數(shù)據(jù)系統(tǒng)的性能和穩(wěn)定性橄杨,反而會(huì)造成用戶流失的苦果秘症,在大數(shù)據(jù)巴士中我看到很多人最終將問(wèn)題歸咎于Hadoop并失去對(duì)它的信任。
Hadoop環(huán)境必須要優(yōu)化運(yùn)行才能滿足最終用戶的期望式矫。我們綜合了無(wú)數(shù)Hadoop平臺(tái)的企業(yè)實(shí)戰(zhàn)經(jīng)驗(yàn)乡摹,匯集成以下三個(gè)最佳實(shí)踐,幫助提高大數(shù)據(jù)應(yīng)用的表現(xiàn):
1均衡配置工作量
工作量管理是Hadoop環(huán)境的重要因素采转。因?yàn)樵诖髷?shù)據(jù)巴士中我看到企業(yè)中的大數(shù)據(jù)系統(tǒng)被廣泛的用于生產(chǎn)環(huán)境聪廉,業(yè)務(wù)團(tuán)隊(duì)的需求必然會(huì)考驗(yàn)到系統(tǒng)資源的各種組件,新部署的大數(shù)據(jù)應(yīng)用需要與企業(yè)原有的應(yīng)用相互競(jìng)爭(zhēng)并且拿出具有說(shuō)服力的表現(xiàn)。即使Hadoop集群是完全按照供應(yīng)商提供的指導(dǎo)而部署的锄列,企業(yè)也應(yīng)當(dāng)根據(jù)自己的實(shí)際工作量重新配置图云。系統(tǒng)管理員可以使用Yarn的工作量管理功能來(lái)為不同的用戶分配相應(yīng)的系統(tǒng)資源來(lái)確保滿足服務(wù)水平。
工作量管理正確設(shè)置和調(diào)整后邻邮,管理員可以調(diào)度作業(yè)任務(wù)以獲得群集資源的最大利用率竣况,不僅能夠?qū)adoop集群的足跡維持在適當(dāng)大小,也提高了應(yīng)對(duì)不斷變化的業(yè)務(wù)需求的適應(yīng)能力筒严。
2保持業(yè)務(wù)連續(xù)性
企業(yè)中最有價(jià)值的數(shù)據(jù)都被分布安放在Hadoop平臺(tái)中丹泉,此時(shí)系統(tǒng)的持續(xù)可用性和數(shù)據(jù)保護(hù)變得更加重要,然而Hadoop的數(shù)據(jù)復(fù)制能力并不足以在一場(chǎng)災(zāi)難中保護(hù)最重要的數(shù)據(jù)鸭蛙。常規(guī)做法是設(shè)立一個(gè)標(biāo)準(zhǔn)的三路復(fù)制方案用來(lái)保護(hù)各種數(shù)據(jù)對(duì)象以免損壞或丟失摹恨,但這種備份和災(zāi)難恢復(fù)策略在大數(shù)據(jù)巴士的評(píng)論中被說(shuō)明并不足夠。
Hadoop自身的復(fù)制功能可以提供較好的容錯(cuò)性和數(shù)據(jù)局部性處理娶视,但在同一個(gè)機(jī)架保存三個(gè)數(shù)據(jù)副本并不能在出現(xiàn)無(wú)法避免的天災(zāi)人禍時(shí)保護(hù)它晒哄。要徹底解決這個(gè)問(wèn)題,數(shù)據(jù)必須要每天備份到另一個(gè)數(shù)據(jù)中心肪获,需要用到數(shù)據(jù)歸檔工具或云實(shí)例寝凌,這樣做有助于保護(hù)信息免受自然災(zāi)害、網(wǎng)絡(luò)攻擊或其他不可預(yù)見(jiàn)的事件發(fā)生時(shí)遭受損失孝赫。
回到業(yè)務(wù)連續(xù)性较木,別忘了NameNode備份的問(wèn)題。NameNode在Hadoop分布式文件系統(tǒng)(HDFS)的特定目錄中存儲(chǔ)數(shù)據(jù)在集群的保存位置青柄。如果發(fā)生單點(diǎn)故障伐债,從頭開(kāi)始重建NameNode是一個(gè)費(fèi)時(shí)費(fèi)力的工作,并且可能會(huì)有潛在的數(shù)據(jù)丟失致开。這就是為什么隨著生產(chǎn)系統(tǒng)越發(fā)龐大峰锁,備份數(shù)據(jù)和NameNode的任務(wù)就越來(lái)越重要。
搭建在Hadoop中的關(guān)鍵應(yīng)用需要一個(gè)高可用性策略喇喉,這就需要一個(gè)計(jì)劃來(lái)確保生產(chǎn)流程在遇到未知情況時(shí)不受到影響祖今。從原料來(lái)源到離線備份,一定要為那些無(wú)法負(fù)擔(dān)損失的重要數(shù)據(jù)設(shè)計(jì)好一個(gè)完善的重建數(shù)據(jù)的過(guò)程拣技。
3豐富的Hadoop實(shí)戰(zhàn)經(jīng)驗(yàn)
熟悉了解Hadoop架構(gòu)的詳細(xì)文檔千诬、日常監(jiān)測(cè)任務(wù)以及各種標(biāo)準(zhǔn)解決方案當(dāng)然是必不可少的,但更加無(wú)可替代的是實(shí)戰(zhàn)經(jīng)驗(yàn)膏斤。即使應(yīng)用支持文檔準(zhǔn)備的再充分徐绑,也一定會(huì)出現(xiàn)無(wú)法解決的挑戰(zhàn),這時(shí)就是經(jīng)驗(yàn)展示身手的時(shí)刻莫辨。作為大數(shù)據(jù)平臺(tái)的管理員傲茄,必須掌握管理和開(kāi)發(fā)大數(shù)據(jù)開(kāi)源平臺(tái)的一整套技能集合毅访,所需要的知識(shí)和功底遠(yuǎn)遠(yuǎn)超出培訓(xùn)機(jī)構(gòu)速成而來(lái)的DBA。
除了Hadoop管理經(jīng)驗(yàn)盘榨,大數(shù)據(jù)應(yīng)用支持團(tuán)隊(duì)?wèi)?yīng)該擁有堅(jiān)實(shí)的技術(shù)背景喻粹,能夠應(yīng)對(duì)各種不規(guī)范的問(wèn)題。團(tuán)隊(duì)中應(yīng)該至少有一位高級(jí)技術(shù)人員可以解決特別棘手的挑戰(zhàn)草巡。他應(yīng)該擁有Hadoop自定義應(yīng)用開(kāi)發(fā)的詳細(xì)知識(shí)守呜、強(qiáng)大的Linux技能和解決復(fù)雜問(wèn)題的能力。
即使是最有經(jīng)驗(yàn)的Hadoop管理員也需要合適的工具來(lái)完成他們的工作山憨,例如很多支持和開(kāi)發(fā)團(tuán)隊(duì)正在使用開(kāi)源管理工具如Ambari和Nagios查乒,然而他們最終會(huì)發(fā)現(xiàn)許多工具并不成熟,因此有必要購(gòu)買一些收費(fèi)的監(jiān)控和修復(fù)工具來(lái)應(yīng)對(duì)一些不常見(jiàn)的問(wèn)題郁竟,維持大數(shù)據(jù)系統(tǒng)的高效運(yùn)行并將宕機(jī)時(shí)間降到最低玛迄。
獲得最佳的Hadoop環(huán)境
雖然Hadoop并不是數(shù)據(jù)庫(kù),但許多數(shù)據(jù)管理的理念和技術(shù)是相同的棚亩,比如優(yōu)先滿足業(yè)務(wù)需求和確保工作量蓖议、保證業(yè)務(wù)連續(xù)性、降低宕機(jī)和丟失信息的風(fēng)險(xiǎn)蔑舞。此外拒担,經(jīng)驗(yàn)在Hadoop管理與分析工作中是非常關(guān)鍵的,畢竟你不可能碰巧就建立起了一個(gè)高度優(yōu)化的環(huán)境攻询,實(shí)際上這些都是一天接一天巧妙的管理工作的結(jié)果,確保大數(shù)據(jù)應(yīng)用的優(yōu)越性能以及良好的用戶滿意度州弟。