Hadoop起源及其四大特性詳解
本節和大家一起來了解一下Hadoop,主要內容有它的概念介紹,特性以及起源,歡迎大家一起來學習Hadoop方面的知識,相信通過本節的介紹你一定會對Hadoop有一定的了解。
Hadoop
起源:Google的集群系統
開源實現
Hadoop研究
Hadoop的Logo
項目主頁:http://hadoop.apache.org
一個分布式系統基礎架構,由Apache基金會開發。用戶可以在不了解分布式底層細節的情況下,開發分布式程序。充分利用集群的威力高速運算和存儲。
簡單地說來,Hadoop是一個可以更容易開發和運行處理大規模數據的軟件平臺。
Hadoop實現了一個分布式文件系統(HadoopDistributedFileSystem),簡稱HDFS。HDFS有著高容錯性(fault-tolerent)的特點,并且設計用來部署在低廉的(low-cost)硬件上。而且它提供高傳輸率(highthroughput)來訪問應用程序的數據,適合那些有著超大數據集(largedataset)的應用程序。HDFS放寬了(relax)POSIX的要求(requirements)這樣可以流的形式訪問(streamingaccess)文件系統中的數據。
下面列舉hadoop主要的一些特點:
1擴容能力(Scalable):能可靠地(reliably)存儲和處理千兆字節(PB)數據。
2成本低(Economical):可以通過普通機器組成的服務器群來分發以及處理數據。這些服務器群總計可達數千個節點。
3高效率(Efficient):通過分發數據,hadoop可以在數據所在的節點上并行地(parallel)處理它們,這使得處理非常的快速。
4可靠性(Reliable):hadoop能自動地維護數據的多份復制,并且在任務失敗后能自動地重新部署(redeploy)計算任務。
起源:Google的集群系統
Google的數據中心使用廉價的LinuxPC機組成集群,在上面運行各種應用。即使是分布式開發的新手也可以迅速使用Google的基礎設施。核心組件是3個:
1、GFS(GoogleFileSystem)。一個分布式文件系統,隱藏下層負載均衡,冗余復制等細節,對上層程序提供一個統一的文件系統API接口。Google根據自己的需求對它進行了特別優化,包括:超大文件的訪問,讀操作比例遠超過寫操作,PC機極易發生故障造成節點失效等。GFS把文件分成64MB的塊,分布在集群的機器上,使用Linux的文件系統存放。同時每塊文件至少有3份以上的冗余。中心是一個Master節點,根據文件索引,找尋文件塊。詳見Google的工程師發布的GFS論文。
2、MapReduce。Google發現大多數分布式運算可以抽象為MapReduce操作。Map是把輸入Input分解成中間的Key/Value對,Reduce把Key/Value合成最終輸出Output。這兩個函數由程序員提供給系統,下層設施把Map和Reduce操作分布在集群上運行,并把結果存儲在GFS上。
3、BigTable。一個大型的分布式數據庫,這個數據庫不是關系式的數據庫。像它的名字一樣,就是一個巨大的表格,用來存儲結構化的數據。
以上三個設施Google均有論文發表。Hadoop的相關內容并沒有介紹完畢,請關注下節介紹。
【編輯推薦】