hadoop之MapReduce执行流程

MapReduce执行流程

hadoop之MapReduce执行流程
 
1:运行mapred程序;(不是hadoop节点也可以提交程序)
2、本次运行将生成一个Job,于是JobClient向JobTracker(协调作业运行)申请一个JobID以标识这个Job;
3、JobClient将Job所需要的资源提交到HDFS中一个以JobID命名的目录中。这些资源包括JAR包、配置文件、
   InputSplit、等;
4:JobClient向JobTracker提交这个Job;
5:JobTracker初始化这个Job;
6:JobTracker从HDFS获取这个Job的Split等信息;
7:JobTracker向TaskTracker分配任务;(心跳正常)
8:TaskTracker从HDFS获取这个Job的相关资源;
9:TaskTracker开启一个新的JVM;
10:TaskTracker用新的 JVM来执行MapTask或ReduceTask;此条图示

hadoop之MapReduce执行流程

我们下面模拟一个MapReduce任务,解释MapTask和ReduceTask
    1)一个文件file.txt;
    2)存储file.txt文件到HDFS;
    3) 统计file.txt文件里面”Refund”个数;
MapTask
 
hadoop之MapReduce执行流程
 
1:client要计算 Refund要出现多少次
2:job Tracker 根据NameNode发现File.txt有三块,分别在DataNode 1,2,5上面
3:运行task任务
       map task(本地没有文件块)
       hadoop之MapReduce执行流程

       1:client要计算 Refund要出现多少次
       2:job Tracker 根据NameNode发现File.txt有三块,分别在DataNode 1,2,9上面, 但是发现DN1
          上面没有Bolck则在同机架上寻找Block
       3:运行task任务
 
Reduce task
hadoop之MapReduce执行流程
1:MapTask输出数据到ReduceTask
2:ReduceTask将数据输出到HDFS
 
 
 
 
 
 
 
 

你可能感兴趣的:(mapreduce)