Hadoop- MapReduce分布式计算框架原理
分布式计算:
原则:移动计算而尽可能减少移动数据(减少网络开销)
分布式计算其实就是将单台机器上的计算拓展到多台机器上并行计算。
MapReduce分布式计算框架体系结构
首先理解几个概念:
Job&Task:在hadoop mapreduce中,一个 Job 它是一个任务,主业务。一个Job 可以拆分成多个Task,map Task与reduce Task。
JobTracker:JobTracker是一个后台服务进程,启动之后,会一直监听并接收来自各个TaskTracker发送的心跳信息,包括资源使用情况和任务运行情况等信息
MapReduce体系结构里有两类节点,第一个是JobTracker,它是一个master管理节点,另一个是TaskTracker。客户端(Client)提交一个任务(Job),JobTracker把他提交到候选列队里,将Job拆分成map任务(Task)和reduce任务(Task),把map任务和reduce任务分给TaskTracker执行。在mapreduce编程模型里,Task一般起在和DataNode所在的同一台物理机上。如下图(图片来自网络):
MapReduce分布式工作流程
1.分布式的运算程序往往需要分成至少2个阶段
MapReduce的第一阶段是Map,运行的实例叫Map Task,第二阶段是Reduce,运行的实例叫Reduce Task。每个Task只需要完成后把文件输出到自己的工作目录即可。
2.第一阶段的Task并发实例各司其职,各自为政,互不相干,完全并行
3.第二阶段的Task并发实例互不相干,但是他们的数据以来于上一阶段的所有Task并发实例的输出
4.MapReduce编程模型,只能包含一个Map阶段和一个Reduce阶段,如果用户的业务逻辑非常复杂,那就只能来多个mapreduce程序,串行运行
MapReduce容错机制
总结
以上知识体系基本能解决一下几个问题了:
转载于:https://www.cnblogs.com/RzCong/p/7362352.html
Hadoop- MapReduce分布式计算框架原理相关推荐
- 对mapreduce分布式计算框架原理,进行完整流程分析
本文中大致的对mapreduce进行完整流程分析,map.reduce端的分析. 一. MapReduce 简介 MapReduce源自google的一篇文章,将海量数据处理的过程拆分为map和red ...
- 【Hadoop】谷歌的三篇论文(GFS、MapReduce分布式计算模型 、BigTable大表)
谷歌的三篇论文(GFS.MapReduce分布式计算模型 .BigTable大表) 0 谷歌的基本思想:三驾马车 1 第一篇论文:GFS 1.1 Google的GFS分布式文件系统的基本原理 1.2 ...
- 2.2.1 hadoop体系之离线计算-mapreduce分布式计算-mapreduce架构概念
目录 1.写在前面 2.为什么需要MapReduce? 3.MapReduce具体细节 3.1 Hadoop MapReduce构思: 4.block,split,map,reduce关系 5.Shu ...
- MapReduce分布式计算框架简介
Hadoopd分布式计算框架--MapReduce 一.MapReduce简介 1. 概念 MapReduce是基于Hadoop的分布式计算框架. 起源于Google,它将大型数据操作作业分解为可以跨 ...
- Hadoop mapreduce框架简介
传统hadoop MapReduce架构(老架构) 从上图中可以清楚的看出原 MapReduce 程序的流程及设计思路: 1.首先用户程序 (JobClient) 提交了一个 job,job 的信息会 ...
- hadoop MapReduce实例解析
1.MapReduce理论简介 1.1 MapReduce编程模型 MapReduce采用"分而治之"的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然 ...
- Hadoop MapReduce的一些相关代码Code
MapReduce是一种分布式计算模型(distributed programming model),由Google于2004年左右提出,主要用于搜索领域,解决海量数据的计算问题. MapReduce ...
- python - hadoop,mapreduce demo
Hadoop,mapreduce 介绍 59888745@qq.com 大数据工程师是在Linux系统下搭建Hadoop生态系统(cloudera是最大的输出者类似于Linux的红帽), 把用户的交易 ...
- hadooppythonsql_python - hadoop,mapreduce demo
Hadoop,mapreduce 介绍 59888745@qq.com 大数据工程师是在Linux系统下搭建Hadoop生态系统(cloudera是最大的输出者类似于Linux的红帽), 把用户的交易 ...
最新文章
- python 数组升序_python简单数据清洗和分析
- 怎样把pdf转换成word
- H5移动端网页标签模板
- 区块链101:区块链的应用和用例是什么?
- 如何快速在Github找到你想要的东西
- 飞鸽传书2014怎么用?
- Hibernate批量操作数据
- spin_lock浅析【转】
- sqlmap的安装教程
- bp神经网络可以预测什么,BP神经网络预测原理
- 用python完成《商务与经济统计(第13版)》课后练习——第7章和第8章
- python如何通过以太网发送指令_Python编写的客户端给服务器发送指令执行相应的命令并返回结果...
- 47.0.概率论与数理统计-两个正态总体均值差的置信区间
- 安装了vmWare15,打开虚拟机时,电脑总是重启,怎么办?
- 静态网站的搭建(Windows server2003)
- centos 7搭建直播间
- python clicknium 库自动化千牛桌面端
- 乐字节炫酷HTML 与 CSS
- iOS原生二维码扫描(一)
- css transition left 不起作用
热门文章
- configSections 位置引起的错误
- JPA学习---第五节:日期和枚举等字段类型的JPA映射
- uva LCD-Display
- 使用 IAsyncResult 进行 .NET 异步编程(转载)
- ArcGIS Engine中的8种数据访问【转】
- 不是多家族媒体集的一部分,可用bakup with format来构造新的媒体集.
- cv::Mat dst 这句话从语法是怎么理解?
- Java加载词向量_W2C得到词向量之后,如何得到句子向量,
- mysql创建临时表 分页_ASP+MySQl利用临时表分页第一页数据正常,下一页往后没有数据...
- leetcode算法题--合并两个有序链表