Hadoop是當前最流行的大資料技術架構,很多大資料應用都是建立在Hadoop平臺基礎之上。很多人都知道Hadoop是Apache基金會的頂級開源專案,但並不是每個人都知道,在Hadoop的演進發展中,70%的貢獻是來自Yahoo公司。
Yahoo公司是Hadoop平臺最大的使用者、最有力的應用支持者和Hadoop商業化的重要推動者,Hadoop一直是Yahoo公司雲端計算平臺的核心,Yahoo公司最大的單個Hadoop叢集由4000個節點組成,Yahoo公司的推薦系統、廣告分析等應用均建立在Hadoop分散式計算平臺上,Yahoo公司通過開發者論壇等方式每年培養了大量掌握Hadoop平臺的專業技術人員,Yahoo公司分拆出來並投資的Hadoop技術研發部門-Hortonworks目前是全球發展最快的Hadoop商業化公司之一。Yahoo 公司並沒有躺在這些成績上沾沾自喜,相反他們在積極推進Hadoop2.0——Yahoo新一代大資料技術架構。
Yahoo的新一代大資料技術架構由以下幾個部分組成:
核心YARN。YARN或稱為MapReduce2.0是這個技術架構的核心,它可以看作Yahoo新一代大資料平臺的作業系統。為了解決Hadoop1.0的效能瓶頸問題,YARN將MapReduce中一個JobTacker中所具有的兩個主要功能(資源管理和作業排程/監控)實現了分離,主要方法是建立一個全域性的資源管理器(ResourceManager,RM)和若干個針對應用程式的應用主伺服器(ApplicationMaster,AM)。經過這樣的變化,YARN在擴充套件性方面有很大改進,可以支援10000+計算機叢集,同時改進了MapReduce的效能,並且支援Hadoop之外的其他計算框架,如低延時、流計算等框架。
計算處理框架。除了支援批處理的Hadoop之外,還有Spark和Storm等計算框架的整合。其中,Hadoop用於離線資料分析,Spark用於多迭代批處理資料分析, Storm則是用於流資料的實時分析和預測。藉助YARN,Yahoo將大資料離線、近線和實時資料實現了整合。
——Storm。Storm原本是Twitter的流計算工具。Yahoo在新一代技術架構實踐中,將Storm與YARN整合成為Storm-YARN來支援的實時的流計算分析。Storm是專門針對實時資料型別(即流資料)的計算分析框架,在流資料不斷變化運動的過程中實時地進行分析,捕捉到可能對使用者有用的資訊,並把結果迅速傳送出去。例如,為了支援個性化搜尋廣告,系統需要實時處理來自幾百萬唯一使用者每秒成千上萬次的查詢,並即時分析使用者的會話特徵來提高廣告相關性和預測模型的準確度。
——Spark。Spark是發源於美國加州大學伯克利分校AMPLab的叢集計算平臺,已正式申請加入Apache孵化器,Yahoo新一代技術架構將其YARN進行整合。Spark立足於記憶體計算,從多迭代批量處理出發,兼收幷蓄資料倉儲、流處理和圖計算等多種計算正規化,具有輕量、快速計算等特點。Spark基於Scala語言,是一個比Hadoop程式碼行少的輕量級系統,但它的計算速度非常快,對小資料集能達到亞秒級的延遲,對大資料集典型的迭代機器學習、即席查詢、圖計算等應用,Spark版本比基於MapReduce、Hive和Pregel的實現快上十倍到百倍。
儲存層。底層儲存則仍是基於Hadoop的檔案系統HDFS和NOSQL資料庫HBase。
儘管,目前以YARN為核心的新一代技術架構還有很多方面需要完善,但其在Yahoo中戰略地位已經基本確立。其一貫的開源策略,也將給大資料業界帶來福音。
原文釋出時間為:2013-10-19
本文來自雲棲社群合作伙伴“大資料文摘”,瞭解相關資訊可以關注“BigDataDigest”微信公眾號