自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

學(xué)習(xí)筆記 Hadoop組成詳解

開發(fā) 架構(gòu) Hadoop
Hadoop你是否熟悉,這里先大致介紹一下Hadoop,先說一下Hadoop的來龍去脈,以及Hadoop主要包含的內(nèi)容,歡迎大家一起來學(xué)習(xí)Hadoop。

本節(jié)和大家學(xué)習(xí)一下Hadoop方面的知識,內(nèi)容主要有Hadoop概念介紹和Hadoop組成,希望通過本節(jié)的學(xué)習(xí)大家對Hadoop有初步的了解,下面讓我們一起來學(xué)習(xí)Hadoop吧。

Hadoop學(xué)習(xí)筆記

這里先大致介紹一下Hadoop,先說一下Hadoop的來龍去脈。談到Hadoop就不得不提到Lucene和Nutch。
首先,Lucene并不是一個應(yīng)用程序,而是提供了一個純Java的高性能全文索引引擎工具包,它可以方便的嵌入到各種實際應(yīng)用中實現(xiàn)全文搜索/索引功能。Nutch是一個應(yīng)用程序,是一個以Lucene為基礎(chǔ)實現(xiàn)的搜索引擎應(yīng)用,Lucene為Nutch提供了文本搜索和索引的API,Nutch不光有搜索的功能,還有數(shù)據(jù)抓取的功能。在nutch0.8.0版本之前,Hadoop還屬于Nutch的一部分,而從nutch0.8.0開始,將其中實現(xiàn)的NDFS和MapReduce剝離出來成立一個新的開源項目,這就是Hadoop,而nutch0.8.0版本較之以前的Nutch在架構(gòu)上有了根本性的變化,那就是完全構(gòu)建在Hadoop的基礎(chǔ)之上了。在Hadoop中實現(xiàn)了Google的GFS和MapReduce算法,使Hadoop成為了一個分布式的計算平臺。
其實,Hadoop并不僅僅是一個用于存儲的分布式文件系統(tǒng),而是設(shè)計用來在由通用計算設(shè)備組成的大型集群上執(zhí)行分布式應(yīng)用的框架。

Hadoop包含兩個部分:

1、HDFS

即HadoopDistributedFileSystem(Hadoop分布式文件系統(tǒng))
HDFS具有高容錯性,并且可以被部署在低價的硬件設(shè)備之上。HDFS很適合那些有大數(shù)據(jù)集的應(yīng)用,并且提供了對數(shù)據(jù)讀寫的高吞吐率。HDFS是一個master/slave的結(jié)構(gòu),就通常的部署來說,在master上只運行一個Namenode,而在每一個slave上運行一個Datanode。
HDFS支持傳統(tǒng)的層次文件組織結(jié)構(gòu),同現(xiàn)有的一些文件系統(tǒng)在操作上很類似,比如你可以創(chuàng)建和刪除一個文件,把一個文件從一個目錄移到另一個目錄,重命名等等操作。Namenode管理著整個分布式文件系統(tǒng),對文件系統(tǒng)的操作(如建立、刪除文件和文件夾)都是通過Namenode來控制。

從HDFS結(jié)構(gòu)圖中可以知道,Namenode,Datanode,Client之間的通信都是建立在TCP/IP的基礎(chǔ)之上的。當(dāng)Client要執(zhí)行一個寫入的操作的時候,命令不是馬上就發(fā)送到Namenode,Client首先在本機上臨時文件夾中緩存這些數(shù)據(jù),當(dāng)臨時文件夾中的數(shù)據(jù)塊達(dá)到了設(shè)定的Block的值(默認(rèn)是64M)時,Client便會通知Namenode,Namenode便響應(yīng)Client的RPC請求,將文件名插入文件系統(tǒng)層次中并且在Datanode中找到一塊存放該數(shù)據(jù)的block,同時將該Datanode及對應(yīng)的數(shù)據(jù)塊信息告訴Client,Client便這些本地臨時文件夾中的數(shù)據(jù)塊寫入指定的數(shù)據(jù)節(jié)點。
HDFS采取了副本策略,其目的是為了提高系統(tǒng)的可靠性,可用性。HDFS的副本放置策略是三個副本,一個放在本節(jié)點上,一個放在同一機架中的另一個節(jié)點上,還有一個副本放在另一個不同的機架中的一個節(jié)點上。當(dāng)前版本的hadoop0.12.0中還沒有實現(xiàn),但是正在進(jìn)行中,相信不久就可以出來了。

2、MapReduce的實現(xiàn)

MapReduce是Google的一項重要技術(shù),它是一個編程模型,用以進(jìn)行大數(shù)據(jù)量的計算。對于大數(shù)據(jù)量的計算,通常采用的處理手法就是并行計算。至少現(xiàn)階段而言,對許多開發(fā)人員來說,并行計算還是一個比較遙遠(yuǎn)的東西。MapReduce就是一種簡化并行計算的編程模型,它讓那些沒有多少并行計算經(jīng)驗的開發(fā)人員也可以開發(fā)并行應(yīng)用。
MapReduce的名字源于這個模型中的兩項核心操作:Map和Reduce。也許熟悉FunctionalProgramming(函數(shù)式編程)的人見到這兩個詞會倍感親切。簡單的說來,Map是把一組數(shù)據(jù)一對一的映射為另外的一組數(shù)據(jù),其映射的規(guī)則由一個函數(shù)來指定,比如對[1,2,3,4]進(jìn)行乘2的映射就變成了[2,4,6,8]。Reduce是對一組數(shù)據(jù)進(jìn)行歸約,這個歸約的規(guī)則由一個函數(shù)指定,比如對[1,2,3,4]進(jìn)行求和的歸約得到結(jié)果是10,而對它進(jìn)行求積的歸約結(jié)果是24。
關(guān)于MapReduce的內(nèi)容,建議看看孟巖的這篇MapReduce:TheFreeLunchIsNotOver!
好了,作為這個系列的第一篇就寫這么多了,我也是剛開始接觸Hadoop,下一篇就是講Hadoop的部署,談?wù)勎以诓渴餒adoop時遇到的問題,也給大家一個參考,少走點彎路。
 

【編輯推薦】

  1. 如何進(jìn)行Hadoop安裝部署?
  2. Hadoop開源已經(jīng)實現(xiàn)
  3. Hadoop集群與Hadoop性能優(yōu)化
  4. Hadoop 從Yahoo向Google的技術(shù)轉(zhuǎn)折
  5. Hadoop入門經(jīng)典

 

 

責(zé)任編輯:佚名 來源: csdn.net
相關(guān)推薦

2011-08-30 16:26:34

Hadoop

2010-06-03 11:34:42

Hadoop

2010-06-28 16:37:05

UML類圖

2010-07-01 11:52:59

UML類圖

2010-07-07 17:51:06

UML類圖

2010-06-04 18:17:50

Hadoop集群

2010-06-30 10:02:05

UML建模技術(shù)

2010-08-26 16:40:35

DIV定位

2010-06-29 13:22:26

UML類圖

2010-07-06 11:07:11

UML組件圖

2010-08-31 11:25:15

2011-09-07 10:34:48

Android Wid

2011-07-26 15:29:36

Cocoa 模式

2010-09-14 16:20:19

DIV定位

2010-03-10 11:54:39

云計算服務(wù)

2010-07-06 10:56:32

UML圖詳解

2015-04-21 11:26:39

CoAPCoAP協(xié)議應(yīng)用層協(xié)議

2011-08-16 14:59:31

IOS開發(fā)ViewDidUnloiOS 5

2010-07-13 14:16:56

Perl控制流

2010-09-27 13:48:41

JVM內(nèi)存結(jié)構(gòu)
點贊
收藏

51CTO技術(shù)棧公眾號