閱讀807 返回首頁    go 阿裏雲 go 技術社區[雲棲]


hadoop筆記一

Hadoop是Apache軟件基金會旗下的一個開源分布式計算平台。
Apache 下的一個項目,由HDFSMapReduceHBaseHive ZooKeeper等成員組成。其中,HDFS MapReduce 是兩個最基礎最重要的成員
Hadoop 由許多元素構成。其最底部是 Hadoop Distributed File System[3](HDFS),它存儲 Hadoop 集群中所有存儲節點上的文件。HDFS(對於本文)的上一層是MapReduce 引擎,該引擎由 JobTrackers 和 TaskTrackers 組成
​hadoop兩部分組成
    1、分布式文件係統(   HDFS Hadoop distributed FileSystem
     2、MapReduce  

​hadoop兩大類角色:
     1、master    主服務器
     2、salve      子服務器

1、分布式文件係統
        1、NameNode   作為主服務器,管理文件係統的命名空間和客戶端對文件係統的訪問操作(CRUD)
                    統計數據需要多大的空間,多少個DataNode塊,進行存儲數據
        2、DataNode   管理存儲的數據   
                    數據真正儲存的節點內容、或者物理地址  存儲(blockID-塊地址,data-數據)
        hadoop啟動時會將dataNode節點的數據主動上傳到NameNode空間中,讓所有的數據都讓nameNode維護起來,DataNode與NameNode保持心跳(實時通信)實現數據共享、
​2、MapReduce   分布式計算任務處理    JobTrackers 和 TaskTrackers 組成
           ​1、Map 接受數據並且將數據抓換成key \ value形式保存
          2、Reduce  對Map進行邏輯處理  排序  、 計算、處理的邏輯處理
           同時又兩個集中處理的子任務
            1、JobTracker、分解任務的執行
            2、TaskTracker、任務的執行(分解出來的任務執行(存儲在硬盤或DataNode))
假設輸入域是 one small step for man,one giant leap for mankind。在這個域上運行 Map 函數將得出以下的鍵/值對列表:
(one,1) (small,1) (step,1) (for,1) (man,1)

MapReduce 流程的概念流

(one,1) (giant,1) (leap,1) (for,1) (mankind,1)
如果對這個鍵/值對列表應用 Reduce 函數,將得到以下一組鍵/值對:
(one,2) (small,1) (step,1) (for,2) (man,1)(giant,1) (leap,1) (mankind,1)


HDFS在MapReduce任務處理過程中提供了文件操作和存儲等支持,
MapReduce在HDFS的基礎上實現了任務的分發、跟蹤、執行等工作,並收集結果

最後更新:2017-04-03 12:55:47

  上一篇:go pl/sql developer執行光標所在行
  下一篇:go SVN commit:remains in tree-conflict錯誤的解決辦法