• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            統(tǒng)計(jì)

            • 隨筆 - 50
            • 文章 - 42
            • 評(píng)論 - 147
            • 引用 - 0

            留言簿(6)

            隨筆分類

            文章分類

            Link

            搜索

            •  

            積分與排名

            • 積分 - 164699
            • 排名 - 159

            最新評(píng)論

            閱讀排行榜

            評(píng)論排行榜

            Hadoop學(xué)習(xí)筆記一 簡(jiǎn)要介紹
                這里先大致介紹一下Hadoop.
                本文大部分內(nèi)容都是從官網(wǎng)
            Hadoop上來(lái)的。其中有一篇介紹HDFS的pdf文檔,里面對(duì)Hadoop介紹的比較全面了。我的這一個(gè)系列的Hadoop學(xué)習(xí)筆記也是從這里一步一步進(jìn)行下來(lái)的,同時(shí)又參考了網(wǎng)上的很多文章,對(duì)學(xué)習(xí)Hadoop中遇到的問(wèn)題進(jìn)行了歸納總結(jié)。
                言歸正傳,先說(shuō)一下Hadoop的來(lái)龍去脈。談到Hadoop就不得不提到
            LuceneNutch。首先,Lucene并不是一個(gè)應(yīng)用程序,而是提供了一個(gè)純Java的高性能全文索引引擎工具包,它可以方便的嵌入到各種實(shí)際應(yīng)用中實(shí)現(xiàn)全文搜索/索引功能。Nutch是一個(gè)應(yīng)用程序,是一個(gè)以Lucene為基礎(chǔ)實(shí)現(xiàn)的搜索引擎應(yīng)用,Lucene為Nutch提供了文本搜索和索引的API,Nutch不光有搜索的功能,還有數(shù)據(jù)抓取的功能。在nutch0.8.0版本之前,Hadoop還屬于Nutch的一部分,而從nutch0.8.0開(kāi)始,將其中實(shí)現(xiàn)的NDFS和MapReduce剝離出來(lái)成立一個(gè)新的開(kāi)源項(xiàng)目,這就是Hadoop,而nutch0.8.0版本較之以前的Nutch在架構(gòu)上有了根本性的變化,那就是完全構(gòu)建在Hadoop的基礎(chǔ)之上了。在Hadoop中實(shí)現(xiàn)了Google的GFS和MapReduce算法,使Hadoop成為了一個(gè)分布式的計(jì)算平臺(tái)。
               其實(shí),Hadoop并不僅僅是一個(gè)用于存儲(chǔ)的分布式文件系統(tǒng),而是設(shè)計(jì)用來(lái)在由通用計(jì)算設(shè)備組成的大型集群上執(zhí)行分布式應(yīng)用的框架。

               Hadoop包含兩個(gè)部分:

               1、HDFS

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


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

               2、MapReduce的實(shí)現(xiàn)

                  
            MapReduce是Google 的一項(xiàng)重要技術(shù),它是一個(gè)編程模型,用以進(jìn)行大數(shù)據(jù)量的計(jì)算。對(duì)于大數(shù)據(jù)量的計(jì)算,通常采用的處理手法就是并行計(jì)算。至少現(xiàn)階段而言,對(duì)許多開(kāi)發(fā)人員來(lái)說(shuō),并行計(jì)算還是一個(gè)比較遙遠(yuǎn)的東西。MapReduce就是一種簡(jiǎn)化并行計(jì)算的編程模型,它讓那些沒(méi)有多少并行計(jì)算經(jīng)驗(yàn)的開(kāi)發(fā)人員也可以開(kāi)發(fā)并行應(yīng)用。
                  MapReduce的名字源于這個(gè)模型中的兩項(xiàng)核心操作:Map和 Reduce。也許熟悉Functional Programming(
            函數(shù)式編程)的人見(jiàn)到這兩個(gè)詞會(huì)倍感親切。簡(jiǎn)單的說(shuō)來(lái),Map是把一組數(shù)據(jù)一對(duì)一的映射為另外的一組數(shù)據(jù),其映射的規(guī)則由一個(gè)函數(shù)來(lái)指定,比如對(duì)[1, 2, 3, 4]進(jìn)行乘2的映射就變成了[2, 4, 6, 8]。Reduce是對(duì)一組數(shù)據(jù)進(jìn)行歸約,這個(gè)歸約的規(guī)則由一個(gè)函數(shù)指定,比如對(duì)[1, 2, 3, 4]進(jìn)行求和的歸約得到結(jié)果是10,而對(duì)它進(jìn)行求積的歸約結(jié)果是24。
                  關(guān)于MapReduce的內(nèi)容,建議看看孟巖的這篇
            MapReduce:The Free Lunch Is Not Over!

               好了,作為這個(gè)系列的第一篇就寫(xiě)這么多了,我也是剛開(kāi)始接觸Hadoop,下一篇就是講Hadoop的部署,談?wù)勎以诓渴餒adoop時(shí)遇到的問(wèn)題,也給大家一個(gè)參考,少走點(diǎn)彎路。
             

            posted on 2009-09-03 10:58 pear_li 閱讀(274) 評(píng)論(0)  編輯 收藏 引用 所屬分類: Algorithm

            欧美熟妇另类久久久久久不卡| 久久综合色之久久综合| 久久久久亚洲AV无码网站| 久久噜噜电影你懂的| 精品久久人人妻人人做精品| 久久精品无码一区二区三区日韩| 亚洲人AV永久一区二区三区久久 | 一本色道久久88加勒比—综合| 国产69精品久久久久99| 久久久久亚洲av综合波多野结衣| 国产精品岛国久久久久| 超级97碰碰碰碰久久久久最新| 亚洲精品高清久久| 人妻少妇久久中文字幕一区二区 | 久久久久久A亚洲欧洲AV冫| 久久精品人人做人人爽电影| 久久精品www人人爽人人| 青青青青久久精品国产h久久精品五福影院1421 | 亚洲精品乱码久久久久久蜜桃| 久久综合精品国产二区无码| 亚洲一区精品伊人久久伊人 | 欧美伊香蕉久久综合类网站| 国内精品九九久久精品| 欧美大战日韩91综合一区婷婷久久青草 | 无码国内精品久久人妻麻豆按摩| 狠狠色丁香久久婷婷综| 久久久久久毛片免费播放| 国产成人精品综合久久久久| 欧美一级久久久久久久大片| 91亚洲国产成人久久精品| 国产午夜精品久久久久免费视| 伊人 久久 精品| 性做久久久久久久久久久| 久久中文字幕视频、最近更新| 国产精品美女久久久免费| 国产福利电影一区二区三区久久久久成人精品综合| 精品国产乱码久久久久久人妻 | 伊人久久大香线焦综合四虎| 国产99久久精品一区二区| 久久精品蜜芽亚洲国产AV| 国产精品久久久久国产A级|