ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

Hadoop 2

2022-06-28 22:04:56  阅读:169  来源: 互联网

标签:作业 Hadoop MapReduce 容错 任务 数据


Hadoop核心之MapReduce

  上部分提到Hadoop存储大数据的核心模块HDFS,这一部分介绍Hadoop处理大数据部分的核心模块MapReduce。

  Apache Foundation对MapReduce的介绍:“Hadoop MapReduce is a software framework for easily writing applications which process vast amounts of data (multi-terabyte data-sets) in-parallel on large clusters (thousands of nodes) of commodity hardware in a reliable, fault-tolerant manner.”

  由此可知,Hadoop核心之MapReduce是一个软件框架,基于该框架能够容易地编写应用程序,这些应用程序能够运行在由上千个商用机器组成的大集群上,并以一种可靠的,具有容错能力的方式并行地处理上TB级别的海量数据集。这个定义里面有着这些关键词,一是软件框架,二是并行处理,三是可靠且容错,四是大规模集群,五是海量数据集。因此,对于MapReduce,可以简洁地认为,它是一个软件框架,海量数据是它的“菜”,它在大规模集群上以一种可靠且容错的方式并行地“烹饪这道菜”。

  MapReduce主要是用于解决Hadoop大数据处理的。所谓大数据处理,即以价值为导向,对大数据加工、挖掘和优化等各种处理。

  MapReduce擅长处理大数据,它为什么具有这种能力呢?这可由MapReduce的设计思想发觉。MapReduce的思想就是“分而治之”。Mapper负责“分”,即把复杂的任务分解为若干个“简单的任务”来处理。“简单的任务”包含三层含义:一是数据或计算的规模相对原任务要大大缩小;二是就近计算原则,即任务会分配到存放着所需数据的节点上进行计算;三是这些小任务可以并行计算,彼此间几乎没有依赖关系。Reducer负责对map阶段的结果进行汇总。至于需要多少个Reducer,用户可以根据具体问题,通过在mapred-site.xml配置文件里设置参数mapred.reduce.tasks的值,缺省值为1。

  MapReduce的工作机制如图所示:

  MapReduce的整个工作过程如上图所示,它包含如下4个独立的实体:

  1)客户端,用来提交MapReduce作业。

  2)jobtracker,用来协调作业的运行。

  3)tasktracker,用来处理作业划分后的任务。

  4)HDFS,用来在其它实体间共享作业文件。

  MapReduce整个工作过程有序地包含如下工作环节:

  1)作业的提交

  2)作业的初始化

  3)任务的分配

  4)任务的执行

  5)进程和状态的更新

  6)作业的完成 

  有关MapReduce的详细工作细节,请见:《Hadoop权威指南(第二版)》第六章MapReduce工作机制

搜索

复制

标签:作业,Hadoop,MapReduce,容错,任务,数据
来源: https://www.cnblogs.com/stdxxd/p/16421279.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有