天天看點

Yahoo的新一代大資料技術架構解析

Yahoo的新一代大資料技術架構解析

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的新一代大資料技術架構解析

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。

Yahoo的新一代大資料技術架構解析
Yahoo的新一代大資料技術架構解析

盡管,目前以yarn為核心的新一代技術架構還有很多方面需要完善,但其在yahoo中戰略地位已經基本确立。其一貫的開源政策,也将給大資料業界帶來福音。

<b>原文釋出時間為:2013-10-19</b>

<b></b>

<b>本文來自雲栖社群合作夥伴“大資料文摘”,了解相關資訊可以關注“bigdatadigest”微信公衆号</b>