Hadoop學習筆記(一)——Hadoop體繫結構

來源:互聯網
上載者:User

標籤:mapreduce   分布式儲存   

HDFS和MapReduce是Hadoop的兩大核心。整個Hadoop體繫結構主要是通過HDFS來實現分布式儲存的底層支援的,並且通過MapReduce來實現分布式並行任務處理的程式支援。

 

一、HDFS體繫結構

HDFS採用了主從(Master/Slave)結構模型。一個HDFS叢集是由一個NameNode和若干個DataNode組成的。其中,NameNode作為主伺服器,管理檔案系統的命名空間和用戶端對檔案的訪問操作;叢集中的DataNode管理儲存的資料。HDFS典型的部署是在一個專門的機器上運行NameNode,叢集中的其他機器各運行一個DataNode;也可以在運行NameNode的機器上同時運行DataNode,或者一台機器上運行多個DataNode。一個叢集只有一個NameNode的設計大大簡化了系統架構。

 

從終端使用者的角度來看,它就像傳統的檔案系統一樣,可以通過目錄路徑對檔案執行CRUD(Create/Read/Update/Delete)操作。

 

NameNode管理檔案系統的中繼資料,DataNode儲存實際的資料。用戶端通過同NameNode和DataNodes互動訪問檔案系統。用戶端聯絡NameNode以擷取檔案的中繼資料,而真正的檔案I/O操作時直接和DataNode進行互動的。

 

為HDFS體繫結構:

檔案寫入(Or用戶端檔案上傳):
1、Client向NameNode發起檔案寫入的請求。
2、NameNode根據檔案大小和檔案塊配置情況,返回給Client它所管理部分DataNode的資訊。

3、Client將檔案劃分為多個Block,根據DataNode的地址資訊,按順序寫入到每一個DataNode塊中。

檔案讀取:

1、Client向NameNode發起檔案讀取的請求。

2、NameNode返迴文件儲存的DataNode的資訊。

3、Client讀取檔案資訊。

用戶端:將檔案切分為block依次上傳;與NameNode互動擷取檔案位置資訊;與DataNode互動讀取或者寫入檔案;管理和訪問HDFS

 

 

二、MapReduce體繫結構

MapReduce是一種並行編程模式,利用這種模式軟體開發人員可以輕鬆編寫出分布式並行程式。在Hadoop體繫結構中,MapReduce是一個簡單易行的軟體架構,基於它可以將任務分發到由上千台商用機器組成的叢集上,並以一種可靠容錯的方式平行處理大量資料集,實現Hadoop並行任務處理能力。

 

MapReduce架構是由一個單獨運行在主節點的JobTracker和運行在每個叢集從節點的TaskTracker共同組成的。主節點負責調度構成一個作業的所有任務,這些任務分布在不同的從節點上。主節點監控他們的執行情況,並且重新執行之前失敗的任務;從節點僅負責由主節點指派的任務。

 

當一個Job被提交時,JobTracker接收到提交作業和其配置資訊之後,就會將配置資訊等分發給從節點,同時調度任務並監控TaskTracker的執行

 

 

 

後續會不斷完善補充……

 

 

 

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.