Hadoop是如何工作的

         Hadoop主要是分佈式計算和存儲的框架,所以Hadoop工作過程主要依賴於HDFS(Hadoop Distributed File System)分佈式存儲系統和Mapreduce分佈式計算框架。


1、首先介紹HDFS是如何工作的。

       

注:上圖是從視頻網站的截圖

    分佈式存儲系統HDFS中工作主要是一個主節點namenode(master)(hadoop1.x只要一個namenode節點,2.x中可以有多個節點)和若干個從節點Datanode(數據節點)相互配合進行工作,HDFS主要是存儲Hadoop中的大量的數據,namenode節點主要負責的是:

    1、接收client用戶的操作請求,這種用戶主要指的是開發工程師的java代碼或者是命令客戶端操作。

    2、維護文件系統的目錄結構,主要就是大量數據的關係以及位置信息等。

    3、管理文件系統與block的關係,Hadoop中大量的數據爲了方便存儲和管理主要是以block塊(64M)的形式儲存。一個文件被分成大量的block塊存儲之後,block塊之間都是有順序關係的,這個文件與block之間的關係以及block屬於哪個datanode都是有namenode來管理。

Datanode的主要職責是:

   1、存儲文件。

    2、將數據分成大量的block塊。

    3、爲保證數據的安全,對數據進行備份,一般備份3份。當其中的一份出現問題時,將由其他的備份來對數據進行恢復。


2、MapReduce並行計算模型


    

注:上圖來自網絡

以上是MapReduce流程圖


MapReduce主要也是一個主節點JOPtracker和testtracker組成,主要是負責hadoop中的數據處理過程中的計算問題。

      joptracker主要負責接收客戶端傳來的任務,並且把計算任務交給很多testtracker工作,同時joptracker會不斷的監控testtracker的執行情況。

     testtracker主要是執行joptracker交給它的任務具體計算,例如給求大量數據的最大值,每個testtracker會計算出自己負責的數據中的最大值,然後交給joptracker。


Hadoop的主要兩個框架組合成了分佈式的存儲和計算,使得hadoop可以很快的處理大量的數據。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章