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