雖然Hadoop可以運(yùn)行在廉價的商品計(jì)算機(jī)硬件,且用戶很容易添加節(jié)點(diǎn),但是它有一些細(xì)節(jié)是很昂貴的,尤其是你在生產(chǎn)環(huán)境中運(yùn)行Hadoop。
甲骨文公司大數(shù)據(jù)產(chǎn)品經(jīng)理Jean-Pierre Dijck稱:“IT部門認(rèn)為‘我已經(jīng)有服務(wù)器,我還可以買到便宜的服務(wù)器,我也有人員,所以我們不用花多少錢就可以構(gòu)建自己的Hadoop集群’,這當(dāng)然是一件好事,但是IT部門在部署時會發(fā)現(xiàn)這里會有很多他們沒有預(yù)料到的額外開銷。”
Dijcks列舉了IT領(lǐng)導(dǎo)在DIY Hadoop集群時的5個常見錯誤:
1.他們試圖以廉價的方式構(gòu)建Hadoop
很多IT部門不清楚Hadoop集群應(yīng)該完成什么使命(除了分析某些類型的數(shù)據(jù)),所以他們會購買盡可能便宜的服務(wù)器。
“Hadoop被認(rèn)為是可自愈的,所以當(dāng)服務(wù)器的一個節(jié)點(diǎn)出現(xiàn)故障,構(gòu)不成大問題,”Dijcks稱,“但如果你購買廉價的服務(wù)器,很多節(jié)點(diǎn)出現(xiàn)故障那么你就要花更多時間來修復(fù)硬件,如果一大堆節(jié)點(diǎn)都不運(yùn)行了,這就會造成大問題。”
如果你的Hadoop集群只是實(shí)驗(yàn),那么以上這些可能不是問題。然而,很多實(shí)驗(yàn)性項(xiàng)目通常最后都會進(jìn)入生產(chǎn)環(huán)境。IT部門認(rèn)為,“我們已經(jīng)投入了大量的時間,我們已經(jīng)做了很多工作,現(xiàn)在我們需要將其投入生產(chǎn),”Dijcks說道,“在實(shí)驗(yàn)期間,如果環(huán)境出現(xiàn)問題,只要重新啟動即可,但在生產(chǎn)環(huán)境,集群需要能夠抵御硬件故障、人為交互故障以及任何可能發(fā)生的事情。”
Forrester公司在其2016年第二季度報告“大數(shù)據(jù)Hadoop優(yōu)化系統(tǒng)”中指出,我們需要大量時間和精力用于安裝、配置、調(diào)試、升級和監(jiān)控通用Hadoop平臺的基礎(chǔ)設(shè)施,而預(yù)配置Hadoop優(yōu)化系統(tǒng)可提供更快的時間價值、降低成本、最小化管理工作以及模塊化擴(kuò)展功能。
2.太多“廚師”
大多數(shù)IT部門將自己分為軟件、硬件和網(wǎng)絡(luò)組,而Hadoop集群跨越了這些分組,所以DIY Hadoop集群最終會成為很多有說服力的“廚師”的產(chǎn)物。
Dijcks稱:“在這種情況中,你有一個食譜來參考,但負(fù)責(zé)不同領(lǐng)域的人并不會完全遵循食譜,因?yàn)樗麄兿矚g與食譜要求略有不同的做法。“所以最終,Hadoop集群不會按照預(yù)期那樣運(yùn)行。
在進(jìn)行故障排除后,系統(tǒng)應(yīng)該能夠啟動以及讓IT運(yùn)營人員在生產(chǎn)環(huán)境中運(yùn)行,但Dijcks稱:“這是另一個學(xué)習(xí)曲線開始的地方,他們可能不熟悉Hadoop集群,你會看到很多人為錯誤、停機(jī)時間等一系列問題。”
3.他們沒有意識到Hadoop DIY項(xiàng)目是特洛伊木馬
在Hadoop集群轉(zhuǎn)移到生產(chǎn)環(huán)境后,企業(yè)通常會發(fā)現(xiàn)他們需要安排專門的工作人員來保持其運(yùn)行。Dijcks稱:“當(dāng)然,這個工作人員的大部分時間花費(fèi)在維護(hù)上,而不是創(chuàng)新。”此外,這名工作人員還需要了解Hadoop系統(tǒng)。
他警告道:“你不能期望人們在很短時間內(nèi)變成Hadoop專家。”即使你雇傭經(jīng)驗(yàn)豐富的工作人員,但I(xiàn)T環(huán)境差異性很大--DIY Hadoop集群組件也是如此。因此,在你特定環(huán)境中的所有配置、連接和相互關(guān)系都需要花時間來了解。
4. 他們低估了更新的復(fù)雜性和頻率
新版Hadoop(例如來自Cloudera和Hortonworks)每三個月發(fā)布一次,這些通常包含新特性、新功能、更新、漏洞修復(fù)等。
“除了保持Hadoop集群運(yùn)行所需的所有人類操作外,每三個月都會有新的升級版本,”Dijcks稱,“你完成升級的那一刻,你必須開始規(guī)劃下一次升級。這相當(dāng)復(fù)雜,所以有些人開始跳過更新。”即使你跳過幾次更新,最終你還是會需要更新,例如從5.4升級到5.7。
雖然Cloudera和Hortonworks會嘗試測試盡可能多的場景,“他們不能測試你特定操作系統(tǒng)版本或者對特定工作操作的影響,”Dijcks稱,“你的環(huán)境可能有思科路由器或者Red Hat操作系統(tǒng)或者IBM硬件,同時,如果這個集群正用于大數(shù)據(jù)生產(chǎn)項(xiàng)目,而你需要更新時,就有可能會制造出明顯的停機(jī)時間。”
5. 他們沒有準(zhǔn)備好應(yīng)對安全挑戰(zhàn)
在Hadoop早期,安全沒有被視為一個大問題,因?yàn)榧喝晕挥诜阑饓竺?。而現(xiàn)在,安全已經(jīng)成為最大的問題。
目前Kerberos身份驗(yàn)證已經(jīng)內(nèi)置到Hadoop來解決這些問題,但有些IT企業(yè)不知道如何處理此協(xié)議,“整合Kerberos到企業(yè)的Active Directory非常復(fù)雜,”他表示,“你需要在Active Directory和一系列組件之間進(jìn)行非常多集成工作。且這方面的文檔非常少,最要命的是這涉及到安全管理員和IT其他團(tuán)隊(duì),這些人員幾乎是使用完全不同的語言。”