您的位置:首页 > Web前端 > Node.js

Mapreduce基本工作流程

2017-09-28 07:36 267 查看
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服务中去执行。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息