Hadoop不完全代表雲端運算,所以,要用Hadoop搭建完整的雲端運算平台,答案是不夠。我們常說雲端運算,實際上還是透過電腦的大規模或說海量處理來為生活中各式各樣的人和各行各業服務——所以,核心在「服務」。關於服務,展開來就是常用的那3種(也是事實上的標準):
回頭說Hadoop。在Google三大論文的直接刺激下,Hadoop社群興起,而在眾多的開源實作中,Hadoop(主專案)可以說是所有已知雲端運算方面開源專案的一個Top專案。
雲端運算中有哪些構件?發展到目前的技術與規模,並沒有一個確切的定論,今天的說的話明天可能就不一樣了。但對Hadoop來說,實現了的部分,就是大部分企業在不斷發展中所遇到的大部分問題。直接上圖:
從整體生態系統的角度,從底層存儲,到中間的計算模型和框架,再到上層的邏輯處理和流、顯示,都有相應開源的實作。這就是你說的構件了。
包括我們看到的Hadoop2.0中,引入的新的處理框架,Spark,Storm,YARN(取代MR),都是Hadoop生態系統的完善與實現。
Hadoop實現的是在簡易硬體的基礎上進行盡量高可用性海量計算與處理的中上層模型。 Hadoop處理了儲存(也只是一部分),虛擬化是沒有涉及的,而底層硬體Hadoop也是不涉及的,不管是Hadoop還是其他的項目,只是在軟體的層面想透過縱向或橫向的拓展解決所有的問題是不現實的。 Hadoop在硬體這方面,只是在實作中預留或是接取硬體特性,也就是在虛擬化這方面Hadoop只是個「APP”,不是「始作俑者」(用詞不當了)。
那麼,完整的雲端運算平台呢?
依照企業級來說,是要看具體的企業方向和企業類型的,包括IBM和VMware都有提供不同的解決方案。大致上一定是由單點–>集群–>多層(準分佈式)–>硬體–>分佈式(地域分佈)來解決的。具體到Hadoop體系的技術,直接去對應上圖就好了。
從雲端運算這個概念出現到今天,資料可以說「浩如煙海」了,但很多資料只是互相複製粘貼,並沒有說到雲端運算的核心。我想提出的一個觀點是,完整的雲端運算平台,依賴的是業務,提供的是儲存與支援。
沒有業務需求而是照搬網上的資料或自認為「活用」了某些技術,都可能只是「娛人娛己」。我們來看看網路負載平衡技術是如何發展的就更容易理解雲端運算:
客戶端快取–>CDN快取–>Apache&Nginx靜態頁面快取–>php與Java動態記憶體–> ;Memcache&Other Nosql–>MySQL&Oracle–>HDFS&Other Big Table
從技術的角度看,所有問題解決起來都是層次化的(大家肯定都有寫Demo吧),都是根據不同的需求吧),都是根據不同的需求引入不同的技術,在單層單點乃至集群都無法解決問題的時候,新的計算框架,雲端運算與網格運算乃至動畫需要的大規模渲染都在需要的時候順理成章的引入。總之,完整的雲端運算平台,對於不同的公司業務都是不同的,拿騰訊來說,平台的組件多如牛毛,「平台」只是提供最基礎的服務:儲存與支持,其他的都需要業務根據自身的特點在其上進行構建(相信大公司都是有自己的完整方案的,這裡我就不能再說了……),至於提高什麼樣級別的這種“服務”,就要看公司的業務規模,需要支撐的體系,乃至公司的決策策略了等等。
以上是Hadoop能不能搭建一個完整的雲端運算平台?的詳細內容。更多資訊請關注PHP中文網其他相關文章!