<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    未來不遙遠

    Just do it!

     

    分布式計算框架Hadoop

            本文大部分內容都是從官網Hadoop上轉來的。其中有篇介紹HDFS的pdf文檔,對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! 這篇算是介紹的比較詳細的。MapReduce的算法內容見Google文檔:MapReduce.pdf

            有關其它介紹Hadoop的文章建議看下:分布式計算開源框架Hadoop介紹 。(what,why,how提的不錯)
            
            安裝配置可以看:1、Hadoop中的集群配置和使用技巧
                                            2、Hadoop應用之Hadoop安裝篇
                                            3、Hadoop安裝部署指南
             如果要開發的話,初步參考:Hadoop基本流程與應用開發
             
             其中用到數據庫的部分,在Hadoop的0.19.0開始支撐數據庫訪問,主要采用DBInputFormat來訪問數據庫。文章可見:Hadoop中的數據庫訪問
          

    posted on 2010-08-03 17:03 Cool Jazz 閱讀(374) 評論(0)  編輯  收藏 所屬分類: 分布式計算


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿

    隨筆分類(7)

    隨筆檔案(8)

    文章檔案(1)

    相冊

    搜索

    積分與排名

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲AV午夜成人影院老师机影院| 国产色婷婷精品免费视频| 亚洲色偷偷偷鲁综合| 无套内射无矿码免费看黄| 免费观看亚洲人成网站| 亚洲AV香蕉一区区二区三区| 国产国产人免费视频成69大陆| 亚洲精品GV天堂无码男同| 国产一级高清免费观看| 日韩在线视频播放免费视频完整版| 国产免费人成在线视频| 黄色网址免费在线| 国产亚洲精aa成人网站| 青柠影视在线观看免费高清| 久久综合亚洲鲁鲁五月天| 成人免费视频网站www| 亚洲乱码在线观看| 亚洲VA综合VA国产产VA中| 国产精品福利片免费看| 亚洲成人精品久久| 一个人免费观看视频www| 无码天堂亚洲国产AV| 亚洲日韩精品无码专区网址| 暖暖免费在线中文日本| 亚洲综合色7777情网站777| 尤物永久免费AV无码网站| 一级全免费视频播放| 亚洲国产精品一区第二页| 18禁免费无码无遮挡不卡网站| 午夜亚洲WWW湿好爽| 久久精品国产亚洲香蕉| 最近最好的中文字幕2019免费| 无忧传媒视频免费观看入口| 亚洲avav天堂av在线不卡| 日韩毛片免费无码无毒视频观看| 国产成人亚洲综合无| 亚洲伦理一区二区| 国产大片91精品免费观看男同 | 久久精品国产免费观看| 亚洲国产精品自在自线观看| 久久久久亚洲AV成人网人人网站|