Mapreduce基本工作流程
生活随笔
收集整理的這篇文章主要介紹了
Mapreduce基本工作流程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
MapReduce分布式計算框架
基本流程:
1,大數據經split劃分成大小相等的數據塊(數據塊的大小一般等于HDFS一個塊的大小)以及用戶作業程序。
2,系統中有一個負責調度的Master節點和許多的Map工作節點,Reduce工作節點
3,用戶作業程序提交給Master節點,Master節點尋找合適的Map節點,并將數據傳給Map節點,并且Master也尋找合適的Reduce節點并將數據傳給Reduce節點
4,Master節點啟動Map節點執行程序,Map節點盡可能的讀取本地或本機架上的數據塊進行計算。(數據本地化是Mapreduce的核心特征)
5,每個Map節點處理讀取的數據塊,并做一些數據整理,并且將中間結果放在本地而非HDFS中,同時通知Master節點Map工作完成,并告知中間結果的存儲位置。
6,Master節點等所有Map工作完成后,開始啟動Reduce節點,Reduce節點通過Master節點掌握的中間結果的存儲位置來遠程讀取中間結果。
7,Reduce節點將中間結果處理后將結果輸出到一個文件中。
從用戶作業程序角度來看:
一個作業執行過程中有一個Jobtracker和多個Tasktracker,分別對應于HDFS中的namenode和datanode。Jobclient在用戶端把已配置參數打包成jar文件存儲在HDFS,并把存儲路徑提交給Jobtracker,然后Jobtracker創建每一個Task,并且分發到Tasktracker服務中去執行。
基本流程:
1,大數據經split劃分成大小相等的數據塊(數據塊的大小一般等于HDFS一個塊的大小)以及用戶作業程序。
2,系統中有一個負責調度的Master節點和許多的Map工作節點,Reduce工作節點
3,用戶作業程序提交給Master節點,Master節點尋找合適的Map節點,并將數據傳給Map節點,并且Master也尋找合適的Reduce節點并將數據傳給Reduce節點
4,Master節點啟動Map節點執行程序,Map節點盡可能的讀取本地或本機架上的數據塊進行計算。(數據本地化是Mapreduce的核心特征)
5,每個Map節點處理讀取的數據塊,并做一些數據整理,并且將中間結果放在本地而非HDFS中,同時通知Master節點Map工作完成,并告知中間結果的存儲位置。
6,Master節點等所有Map工作完成后,開始啟動Reduce節點,Reduce節點通過Master節點掌握的中間結果的存儲位置來遠程讀取中間結果。
7,Reduce節點將中間結果處理后將結果輸出到一個文件中。
從用戶作業程序角度來看:
一個作業執行過程中有一個Jobtracker和多個Tasktracker,分別對應于HDFS中的namenode和datanode。Jobclient在用戶端把已配置參數打包成jar文件存儲在HDFS,并把存儲路徑提交給Jobtracker,然后Jobtracker創建每一個Task,并且分發到Tasktracker服務中去執行。
總結
以上是生活随笔為你收集整理的Mapreduce基本工作流程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 万字长文!不为人所知的分布式锁实现全都在
- 下一篇: MySQL备份失败,一波三折的问题分析和