在学习过了HDFS架构和Hadoop的配置管理后,现在学习MapReduce应用程序的编写和管理。首先简单介绍一下MapReduce框架。

MapReduce是一个易于编写程序的软件框架,这些应用程序以可靠的、容错的模式并行的运行在很大规模的商用硬件集群上(数以千计的节点),处理超大数量的数据(超过TB的数据集)。一个MapReduce作业通常将输入数据集分割为独立的数据块,这些数据块被map任务以完全并行的方式处理,MapReduce框架整理map任务的输出结果,然后map的输出结果做为reduce任务的输入。典型地,作业的输入和输出都存储在文件系统中。MapReduce框架处理调度任务,监控任务和重新执行失败的任务。

通常地,计算节点和存储节点是相同的节点,也就是MapReduce框架和HDFS运行在相同的节点集之上。这种配置方式允许MapReduce框架在数据存放的节点上有效地调度任务,导致集群中非常高的带宽传输率。MapReduce由单一的主JobTracker和每个集群节点上一个的从TaskTracker组成。主节点负责调度作业在从节点上的组件任务,监控任务和重新执行失败的任务,从节点执行由主节点指示的任务。

最低限度地,应用程序指定输入输出位置,通过实现恰当地的接口和(或者)抽象类提供map和reduce函数,这些信息和其它的作业参数组成了作业的配置管理(jobconfiguration)。Hadoop的作业客户端提交作业(jar文件或者可执行文件等)和JobTrackerde 配置信息,JobTracker开始承担分发软件/配置信息到从节点上,调度任务和监控任务,向作业客户端提供状态和诊断信息。

虽然Hadoop框架是用Java语言实现的,但是MapReduce应用程序不

Hadoop学习之MapReduce(一)相关推荐

  1. Hadoop学习之MapReduce

    Hadoop学习之MapReduce 目录 Hadoop学习之MapReduce 1 MapReduce简介 1.1 什么是MapReduce 1.2 MapReduce的作用 1.3 MapRedu ...

  2. 第三节 Hadoop学习案例——MapReduce课程设计 好友推荐功能

    提示:文章内容主要以案例为主 目录 前言 项目说明 一,程序需求 1.需求 2.数据 二,编码操作 1.项目建包目录 2.FriendsRecommend.java 3.FriendsRecommen ...

  3. Hadoop学习之MapReduce(三)

    在学习过MapReduce框架的几个关键类和接口后(只是简单的说明了类或者接口的作用及使用方式,要想深入了解如何工作的就需要深入研究源代码了,这也是计划中的学习任务),接下来看看任务的执行和环境,主要 ...

  4. Hadoop学习之MapReduce(四)

    接下来是跟MapReduce目录结构有关的参数.首先看两个参数,分别为在core-default.xml中定义的hadoop.tmp.dir,其默认值为/tmp/hadoop-${user.name} ...

  5. Hadoop学习之MapReduce(二)

    在通过WordCount的例子直观地了解了MapReduce框架的作业如何编写后,现在对MapReduce框架中的关键接口或者类进行深入地地探索和学习.主要讲解Hadoop1.x中的接口和类,也就是o ...

  6. Hadoop学习之Mapreduce执行过程详解

    一.MapReduce执行过程 MapReduce运行时,首先通过Map读取HDFS中的数据,然后经过拆分,将每个文件中的每行数据分拆成键值对,最后输出作为Reduce的输入,大体执行流程如下图所示: ...

  7. Hadoop学习之MapReduce(五)

    作业的提交和监控 Job为作业提交者提供了作业的视图,允许用户管理作业,提交作业,控制作业的执行和查询作业状态,比如跟踪map和reduce任务的执行进度.该类提供的set方法只有在作业已经被提交后才 ...

  8. Hadoop学习之MapReduce分布式计算框架

    目录 一.本地模式 1.新建一个本地maven项目 2.修改prom依赖(maven) 3.新建一个包mapreduce,在该包中新建三个包 4.写mapper组件 5.写Reducer组件 6.写D ...

  9. Hadoop学习全程记录——在Eclipse中运行第一个MapReduce程序

    网友分享,拿来共享一下 这是Hadoop学习全程记录第2篇,在这篇里我将介绍一下如何在Eclipse下写第一个MapReduce程序. 新说明一下我的开发环境: 操作系统:在windows下使用wub ...

最新文章

  1. 修改 keystore密码
  2. Linux重启命令reboot
  3. libgcc_s.so.1 mysql_libgcc_s.so.1 must be installed for pthread_cancel to work | 学步园
  4. java不大于6位_末尾带4的完全平方数的数量并且打印输出_Java计算一个数加上100是完全平方数,加上168还是完全平方数...
  5. Docker学习文档之二 搭建环境-Linux环境
  6. android 滑动缩放监听,基于Android的ViewPager动画特效实现页面左右滑动效果(实现缩放...
  7. 剑指offer——面试题55:字符流中第一个不重复的字符
  8. 高恪或者Padavan等品牌路由用N1作为旁路由
  9. 【附源码】计算机毕业设计SSM汽车4S店管理系统
  10. VMware虚拟机12个使用技巧
  11. Android Paint,Canvas api 详解
  12. O2O(online to offline)营销模式
  13. 【小程序精品源码系列】小说阅读器
  14. 固态硬盘的一些参数规范
  15. 小程序解决上拉加载更多时数据超过1024KB
  16. 条件概率、全概率、先验概率、后验概率
  17. java新特性-函数式接口-作为方法参数-作为方法的返回值-常用函数式接口-Supplier-Consumer-Predicate-Function
  18. LCA(包含RMQ)
  19. go语言可以做什么?入门Go语言
  20. Linux C/C++或者嵌入式开发到底有没有35岁危机?

热门文章

  1. python基础学习[python编程从入门到实践读书笔记(连载五)]:数据可视化项目第16章
  2. matlab如何绘制三维隐函数?
  3. 台湾国立大学郭彦甫Matlab教程笔记(20) root finding(numeric)
  4. MFC中滚动条slider和编辑框edit的联动
  5. 选购计算机性能的核心指标,选电脑主要看什么参数呢?买电脑主要看什么参数,有什么技术指标?...
  6. 《剑指offer》c++版本 4.二维数组中的查找
  7. obj转stl_3D打印,如何编辑STL文件?
  8. Python后端转JAVA最快多久_PHP多久能学会?比java,python难还是简单呢?
  9. java jframe 运行_java – 使用JProgressBar运行JFrame
  10. 使用关中断解决资源冲突问题