Hadoop 叢集佈建初探 - 以 hiCloud 為例 (1)

|

Hadoop 叢集佈建初探 - hiCloud 為例

國家高速網路與計算中心 王耀聰 副研究員


Hadoop打造您專屬的SMAQ資訊架構

  隨著資訊科技的快速演進,我們每天產生數量眾多的數位文件、圖片、音樂跟影片等。根據EMC委託IDC對數位宇宙(Digital Universe)的研究報告指出,2007年全球人類所產生的資料量已經遠超過全球所有儲存設施的總容量,意味著我們已經進入資料大爆炸(Data Explosion)的時代。2011年數位宇宙的總容量更高達1.8 ZBZetabyte, 109 TB),因此2012年可以稱為「巨量資料(Big Data)」的元年。

  根據Gartner CIO Agenda 2012的調查,2012年最重要的三大資訊科技分別為「商業智慧(Bussiness IntelligenceBI)」、「行動科技(Mobile Technology)」與「雲端運算(Cloud Computing)」。事實上商業智慧早在Gartner CIO Agenda 2009就名列第一名,為何四年後捲土重來?那是因為要達成商業智慧之前,企業必須先具備處理巨量資料的資訊架構,也就是20106Edd Dumbill 於「The SMAQ stack for big data」一文中提出的SMAQ架構。




  SMAQ架構說明了處理巨量資料須具備儲存(Storage)、平行運算(MApReduce)與查詢(Query)三層資訊架構。其中,儲存層用來儲存分散而沒有關聯(Non-relational) 的非結構化資料 (unstructured data),平行運算層採用谷歌提出的MapReduce演算法,將龐大的非結構化資料轉化成結構化資料(資訊,Information),並且將結構化資料儲存到查詢層的資訊系統,如資料庫、資料倉儲等。

  透過SMAQ資訊架構,企業還再次將資料倉儲的龐大資料經過MapReduce運算,運用統計的方法,找出重複出現的經驗法則(知識,Knowledge)。企業有了這些經驗法則,才能夠進一步對充滿變數的未來進行預測,最後形成某種智慧(Wisdom)。十年前知識管理專家所提出的DIKW模型(DataInformationKnowledgeWisdom),如今終於在資訊系統中獲得了具體的實現。

  Hadoop這套自由軟體實現了類似Google File System的儲存層,提供給企業一個具備彈性擴充的儲存設施;其次它也實作了MapReduce演算法,並且將谷歌的在地運算(Data Locality)精神融入Hadoop的核心設計中,大幅降低了資料搬運的時間與頻寬成本。此外,建構於Hadoop之上,存在著HBase分散式資料庫與Hive資料倉儲等查詢層軟體。

  因此,透過導入Hadoop生態系相關軟體元件,能提供貴單位符合SMAQ的資訊架構。像YahooFacebookTweeterLinkedInJoost等均已採用Hadoop當背後的支援火力。連OracleMicrosoft SQL Server都提供Hadoop的資料庫連結元件,足見業界對於Hadoop的重視。

  Hadoop經過七年的開發,阿帕契軟體基金會(Apache Software Foundation)終於在20123月釋出1.0.1版本,其重點在於安全性的改良以及對HBase有更好的支援。此外1.0版也算是Hadoop成熟到能支持企業營運任務的重大里程碑。即便如此,目前Hadoop最令人望之怯步的關鍵點在於「不夠友善」。筆者自2009年起便在台灣推動Hadoop使用者社群(http://www.hadoop.tw),經營Hadoop論壇(http://forum.hadoop.tw),但初學者往往第一個要面對的問題是缺乏佈建Hadoop叢集所需的背景知識,如LinuxJava語言等。因此,撰寫本文讓更多資訊從業人員得以從實例操作中,學習如何使用Hadoop生態系。


(待續)