1. 程式人生 > >Hadoop提交作業------>hadoop工作流程

Hadoop提交作業------>hadoop工作流程

一 、需要知道的內容

1.ResourceManager ------>yarn的老大
2.NodeManager        ------>yarn的小弟
3.ResourceManager排程器   a.預設排程器------>先進先出FIFO
                               b.公平排程器------>每個任務都有執行的機會
......
4.心跳機制                 ------>NodeManager可通過心跳機制將節點健康狀況實時彙報給ResourceManager,而ResourceManager則會    根據每個NodeManager的健康狀況適當調整分配的任務數目。當NodeManager認為自己的健康狀況“欠    佳”時,可讓ResourceManager不再分配任務,待健康狀況好轉時,再分配新任務。

5.NodeManager子程序------>獨立於NodeManager,不在NodeManager內部

二 、Hadoop工作流程:


1.Client中,客戶端提交一個mr的jar包給JobClient(提交方式:hadoop jar ...)

2.JobClient持有ResourceManager的一個代理物件,它向ResourceManager傳送一個RPC請求,告訴ResourceManager作業開始,
然後ResourceManager返回一個JobID和一個存放jar包的路徑給Client

3.Client將得到的jar包的路徑作為字首,JobID作為字尾(path = hdfs上的地址 + jobId) 拼接成一個新的hdfs的路徑,然後Client通過FileSystem向hdfs中存放jar包,預設存放10份
(NameNode和DateNode等操作)

4.開始提交任務,Client將作業的描述資訊(JobID和拼接後的存放jar包的路徑等)RPC返回給ResourceManager

5.ResourceManager進行初始化任務,然後放到一個排程器中

6.ResourceManager讀取HDFS上的要處理的檔案,開始計算輸入分片,每一個分片對應一個MapperTask,根據資料量確定起多少個mapper,多少個reducer

7.NodeManager 通過心跳機制向ResourceManager領取任務(任務的描述資訊)

8.領取到任務的NodeManager去Hdfs上下載jar包,配置檔案等

9.NodeManager啟動相應的子程序yarnchild,執行mapreduce,執行maptask或者reducetask

10.map從hdfs中讀取資料,然後傳給reduce,reduce將輸出的資料給回hdfs

相關推薦

Hadoop提交作業------>hadoop工作流程

一 、需要知道的內容 1.ResourceManager ------>yarn的老大 2.NodeManager        ------>yarn的小弟 3.ResourceMana

hadoop提交作業------>yarn提交job的原始碼跟蹤

一、流程分析圖 二 、程式碼跟進 waitForCompletion(){   submit() } ------> class job{   private Cluster cluster;

大資料開發之Hadoop篇----提交作業到yarn上的流程

當一個mapreduce作業被提交到yarn上面的時候,他的流程是這樣的: 1,當client想yarn提交了作業後,就意味著想ResourceManager申請一個ApplicationMaster。這個時候RM(這裡我們將ResourceManager簡稱為RM,同理NodeManager為

hadoop yarn的原理和工作流程

之前寫過 mapreduce的原理和工作流程,包括了一小部分yarn的內容,因為yarn本來就是從mrv1中提出來的,所以二者有千絲萬縷的聯絡,另外,作為一個新手也在梳理的階段,所以記錄的內容或多或少會有混亂或者不精準,還請大家包涵。結構如下:先簡要介紹一下mrv1中的資源管

hadoop】MapReduce工作流程和MapTask、Shuffle、ReduceTask工作機制

MapReduce整個工作流程:一、MapTask階段(1)Read階段:MapTask通過使用者編寫的RecordReader,從輸入InputSplit中解析出一個個key/value。(2)Map階段:該節點主要是將解析出的key/value交給使用者編寫map()函式

本地Spark程式提交hadoop叢集執行流程

1.本地環境準備 本文是將eclipse開發環境下的maven+Spark+scala程式移植到叢集環境上執行過程,寫的很粗糙,見諒。 本地用eclipse編寫Spark小程式,完成從txt檔案讀取資料操作。 本地maven+Spark+scala環境就不多說了,如果配置出

Hadoop 提交任務執行流程總結

用流水線可表示任務執行流程如下: input(k1,v1) -> map -> (k2,v2) -> combine -> shuffle(partitioner) -> sort -> (k2,v2) -> reduce -&

IDEA向hadoop叢集提交作業

1. 說明 2. 配置本機hadoop環境 2.1解壓hadoop-2.6.1.tar.gz至任意一個目錄 我這裡選擇將其解壓到E:\java\hadoop-2.6.1目錄下。 2.2設定hadoop環境變數 注意HADOOP_USER

Hadoop作業提交過程

1.JobClient呼叫FileInputFormat.getSplits(),如果資料檔案是isSplitable()的話,會將大的檔案分解成小的FileSplit,記錄檔案 在HDFS裡的路徑及偏移量和Split大小。這些資訊會統一打包到jobFile的jar中。 2.JobClient然後使用subm

hadoop大致的工作流程

                  hadoop過程中最重要的是MapReduce框架,可是處於叢集的考慮,網路頻寬的限制,其中還有很多優化。                   這是本人畫的,希望不要出錯....                  一個job分塊,

hadoop namenode datanode hdfs工作機制

node 節點 客戶 行合並 滿了 oop 重命名 技術 namenode   大家都知道namenode是hadoop中的一個很重要的節點,因為他存在著跟datanode的交互跟客戶端的交互,存儲著dotanode中的元數據,所以就很想學習他們是如何溝通並能保證數據在任何

hadoop作業

存儲 bcd fin abcde func csv gif ons move 1.用Hive對爬蟲大作業產生的文本文件(或者英文詞頻統計下載的英文長篇小說)詞頻統計。 1.啟動hadoop 2.Hdfs上創建文件夾並查看 3.上傳英文詞頻統計文本至hdf

Hadoop基礎-MapReduce的工作原理第二彈

原理 data 行數據 一個 mapreduce 不同的 選擇 alt 註釋                       Hadoop基礎-MapReduce的工作原理第二彈                                                 

hadoop之hdfs及其工作原理

con 小型 poi 處理器 出了 目前 命令 append 數據塊 hadoop之hdfs及其工作原理 (一)hdfs產生的背景   隨著數據量的不斷增大和增長速度的不斷加快,一臺機器上已經容納不下,因此就需要放到更多的機器中,但這樣做不方便維護和管理,因此需要一種文件系

MapReduce2提交到yarn上工作流程

先來一副圖展示MapReduce2作業提交到yarn上的流程。 1.使用者向yarn的RM提交應用程式,其中包括Application Master程式 啟動ApplicationMaster命令等。 2.RM首先為該app分配一個container,並與對應的nm通訊,要求nm在這個

大資料之MapReduce瞭解及MapReduce Job提交到Yarn的工作流程

MapReduce主要用途是進行分散式計算 一、MapReduce理解 巨集觀上的理解: MapReduce僅僅是作為客戶端(Client)把程式碼程式提交到Yarn平臺上,MapReduce jar在Yarn上執行,屬於客戶端提交的過程,hdfs上傳的命令。

MapReduce job提交到Yarn的工作流程

使用者向Yarn的RM提交應用程式,其中包括ApplicationMaster程式(應用程式的主程式),啟動ApplicationMaster命令等 RM首先為該app程式分配第一個container容器,並與對應的NM通訊,要求NM在這個Container中啟動應用程式的application maste

Hadoop 之 MapReduce 的工作原理及其倒排索引的建立

一、Hadoop 簡介 下面先從一張圖理解MapReduce得整個工作原理 下面對上面出現的一些名詞進行介紹ResourceManager:是YARN資源控制框架的中心模組,負責叢集中所有的資源的統一管理和分配。它接收來自NM(NodeManager)的彙報,建立AM,

hadoop jar xxxx.jar的流程

jar -cvf xxx.jar .hadopp jar xxx.jar clalss-name [input] [output]----------------------------------------------------------------------hadoop jar hadoop-0.

MapReduce2架構設計(YARN工作流程(MR提交應用程式))

    前言:MapReduce是一種可用於資料處理的程式設計模型。該模型比較簡單,但是要寫出有用的程式缺不太容易。本篇文章主要介紹MapReduce2(YARN),會附帶介紹MapReduce1的架構。    狹義的hadoop包含:HDFS、MapReduce和YARN,