hadoop圖解

gateway機器是跳板機,提交job到雲梯的,在gateway機器上只要配置hadoop-site.xml便可,配置文件中主要是指定jobtracker的地址和hdfs的地址。   

     

gateway機器(至關於job client)提交job和對應的jar包到jobtracker機器上,jobtracker會對提交的做業進行相應的校驗,校驗經過就初始化這個job,而後jobtracker把對應的job放入調度隊列,同時taskTracker會不停的發送心跳信號給jobtracker,若是taskTracker空閒,那麼jobtracker會根據調度策略把它分給相應的taskTracker,而後taskTracker就啓動一個jvm進程來處理。而後通常taskTracker啓動的選擇都和datanode的距離有關,通常是先考慮同一服務器的機器,其次是同一機架的,主要是爲了減小網絡的開銷(由於不在同一服務器上的話,還要dataNode的數據傳輸就須要網路)。   

而後taskTracker在跑mapreduce的時候,會請求namenode,由它來告知datanode一系列的信息,好比存儲地址,大小等信息。   

hdfs的架構圖:   
 

namenode主要是維護文件系統的樹結構以及樹內文件的目錄、地址等信息,它負責管理datanode和數據的讀寫。它通常會由一個second namenode機器來防止單點故障。   

hdfs讀取數據:   
     
dfs客戶端先創建hdfs文件系統的鏈接,而後從namenode中獲取對應data的地址等信息,而後經過inputFormat方法去切割和讀取datanode中的文件,這樣就完成了數據的讀取。   

hdfs寫入數據:   
     
dfs客戶端首先創建hdfs文件系統的鏈接,而後經過create方法告知它要建立一個文件,而後namenode開始建立一個文件名稱,經過hdfs的寫入流類進行對datanode數據的寫入,它的寫入是以包的形式寫入的,而後每次寫入會有一個ack的包確認信號返回,也就是途中datanode中的兩個相互箭頭的表示。 
相關文章
相關標籤/搜索