1. 程式人生 > >大資料開發面試題詳解:Hadoop的執行原理

大資料開發面試題詳解:Hadoop的執行原理

hadoop的核心思想是MapReduce,但shuffle又是MapReduce的核心。shuffle的主要工作是從Map結束到Reduce開始之間的過程。

Hadoop不僅僅是大資料技術的核心重點,還是我們面試官面試的時候經常會問道的問題,本文將詳細介紹Hadoop的執行原理。

hadoop執行原理包括HDFS和Mapreduce兩部分。

1)HDFS自動儲存多個副本,移動計算。缺點是小檔案存取佔用namenode記憶體,寫入只支援追加,不能隨機修改。

它儲存的邏輯空間稱為block,檔案的許可權類似linux。整體架構分三種節點,NN,SNN,DN

NN 負責讀寫操作儲存metadata(Ownership Permission blockinfo)

SNN 負責輔助NN合併fsimage和edits,減少nn啟動時間

DN 負責存資料,每個資料(檔案)分割成若干block,每個block預設3個副本。啟動後像NN傳送心跳保持聯絡

NN儲存的metadata在hdfs啟動後加載到計算機記憶體,除block位置資訊的metadata儲存在OS檔案系統中的fsimage檔案中,對metadata的操作日誌儲存在OS檔案系統中的edits檔案中。block位置資訊是hdfs啟動後由DN上報NN再載入到記憶體的。

HDFS的安全模式:直到NN完全載入完metadata之前的這段時間。期間不能寫入檔案,DN檢查各個block完整性,並修復。

2)MapReduce

離線計算框架,過程分為split map shuffle reduce四個過程

架構節點有:Jobtracker TaskTracker

Split將檔案分割,傳輸到mapper,mapper接收KV形式的資料,經過處理,再傳到shuffle過程。

Shuffle先進行HashPartition或者自定義的partition,會有資料傾斜和reduce的負載均衡問題;再進行排序,預設按字典排序;為減少mapper輸出資料,再根據key進行合併,相同key的資料value會被合併;最後分組形成(key,value{})形式的資料,輸出到下一階段

Reduce輸入的資料就變成了,key+迭代器形式的資料,再進行處理。

以上是對大資料技術面試題的詳細解析,當然了,既然是面試題不可能只有一道,小編還在積極預測備選中,針對大資料技術的重點內容進行詳細講解和階段測試,讓同學們真正掌握大資料技術,通過一週一小測,一個月一大測的培訓原則,給學生外界的學習推力。更多精彩,歡迎持續關注~