• <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>

            統計

            • 隨筆 - 50
            • 文章 - 42
            • 評論 - 147
            • 引用 - 0

            留言簿(6)

            隨筆分類

            文章分類

            Link

            搜索

            •  

            積分與排名

            • 積分 - 164746
            • 排名 - 159

            最新評論

            閱讀排行榜

            評論排行榜

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

               Hadoop包含兩個部分:

               1、HDFS

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


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

               2、MapReduce的實現

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

               好了,作為這個系列的第一篇就寫這么多了,我也是剛開始接觸Hadoop,下一篇就是講Hadoop的部署,談談我在部署Hadoop時遇到的問題,也給大家一個參考,少走點彎路。
             

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

            中文国产成人精品久久不卡| 一本大道久久东京热无码AV| 久久久久亚洲精品无码蜜桃| 久久久一本精品99久久精品66| 高清免费久久午夜精品| 久久精品一区二区三区不卡| 99久久夜色精品国产网站| 亚洲色欲久久久久综合网| 日韩人妻无码精品久久久不卡| 新狼窝色AV性久久久久久| 国产精品天天影视久久综合网| 久久久久97国产精华液好用吗| 无码人妻久久一区二区三区免费丨| 偷窥少妇久久久久久久久| 久久97久久97精品免视看| 婷婷久久综合九色综合绿巨人| 久久久久国产成人精品亚洲午夜| 9191精品国产免费久久| 久久综合色老色| 精品国产乱码久久久久久浪潮| 香蕉久久影院| 国产精品一区二区久久精品无码 | 国产精品久久免费| 久久久久亚洲AV无码专区桃色| 青草久久久国产线免观| 亚洲欧美国产日韩综合久久| 亚洲AV日韩精品久久久久久| 婷婷久久五月天| 久久九色综合九色99伊人| 国产婷婷成人久久Av免费高清| 久久久91人妻无码精品蜜桃HD | 久久久久久夜精品精品免费啦| 精品多毛少妇人妻AV免费久久| 好属妞这里只有精品久久| 久久久久99精品成人片试看 | 久久最新免费视频| 99久久国产综合精品五月天喷水| 久久国产精品一国产精品金尊| 国内精品久久国产| 久久福利资源国产精品999| 中文成人无码精品久久久不卡 |