標籤:hdfs mapreduce
HDFS配置:
用戶端中的配置參數可以覆蓋服務端的參數。
例如:副本數,切塊大小
HDFS檔案儲存體:
HDFS擴充:
hdfs支援rest API,與平台無關
jetty 容器
hdfs支援rest command
分布式任務傳統方式:
任務資源分發 jar設定檔。。。硬體資源的分配
任務在各個任務節點上設定運行環境,啟動執行
監視各個階段任務執行狀態
任務失敗,重試
中間結果調度,匯總
hadoop對分布式抽象
mapreduce
- mapper:
一次讀取一行資料
輸出一組keyValue
mapper個數等於block塊數
- shuffle:
合并資料
- reduce:
商務邏輯處理
hadoop序列化機制:
- hadoop中目前的序列化機制是writable,後續版本中會替換為avro
mapreduce任務提交方式
- jar包,hadoop jar wordcount.jar Count
mr會被提交到叢集,屬於叢集的運行方式
- local模式
在eclipse裡直接運行main方法
- eclipse hadoop 外掛程式
mapreduce任務執行流程
- RunJar:用戶端
- ResourceManager:資源管理員,老大
- NodeManager:執行工作管理員
- MrAppMaste:任務啟動、監控、失敗重試
- yarnchild:mapper和reducer
- RunJar向ResourceManager申請提交一個job
- ResourceManager返回jobid和一個job的提交的路徑(hdfs://)
- RunJar提交job任務的相關檔案(jar,配置job.xml,split.xml)到hdfs
- RunJar上報給ResourceManager任務已經提交完成
- ResourceManager分配資源,並將任務任務寫入到任務隊列中
- NodeManager主動向ResourceManager領取任務
- NodeManager在一個容器中啟動MrAppMaster
- MrAppMaster向ResourceManager註冊
- ResourceManager向MrAppMaster返回資源資訊
- MrAppMaster啟動mapper(mapper reducer詳細流程。。。)
- MrAppMaster啟動reducer
- 任務執行完成,向ResourceManager登出資源
大資料學習筆記3--HDFS擴充和mapreduce工作過程