MapReduce(一)

简介: 分布式并行编程框架特点:    MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map和Reduce•编程容易,不需要掌握分布式并行编程细节,也可以很容易把自己的程序运行在分布式系统上,完成海量数据的计算;    •MapReduce采用“分...


分布式并行编程框架




特点:

    MapReduce将复杂的、运行于大规模集群上的并行计算过程高度地抽象到了两个函数:Map和Reduce•编程容易,不需要掌握分布式并行编程细节,也可以很容易把自己的程序运行在分布式系统上,完成海量数据的计算;

    •MapReduce采用“分而治之”策略,一个存储在分布式文件系统中的大规模数据集,会被切分成许多独立的分片(split),这些分片可以被多个Map任务并行处理

    •MapReduce设计的一个理念就是“计算向数据靠拢”,而不是“数据向计算靠拢”,因为,移动数据需要大量的网络传输开销

    •MapReduce框架采用了Master/Slave架构,包括一个Master和若干个Slave。Master上运行JobTracker,Slave上运行TaskTracker

    •Hadoop框架是用Java实现的,但是,MapReduce应用程序则不一定要用Java来写



Map跟Reduce







MapReduce体系结构







MapReduce主要有以下4个部分组成:

1)Client
       •用户编写的MapReduce程序通过Client提交到JobTracker端
       •用户可通过Client提供的一些接口查看作业运行状态

2)JobTracker
      •JobTracker负责资源监控和作业调度
      •JobTracker 监控所有TaskTracker与Job的健康状况,一旦发现失败,就将相应的任务转移到其他节点
      •JobTracker 会跟踪任务的执行进度、资源使用量等信息,并将这些信息告诉任务调度器(TaskScheduler),而调度器会在资源出现空闲时,选择合适的任务去使用这些资源

3)TaskTracker

     •TaskTracker 会周期性地通过“心跳”将本节点上资源的使用情况和任务的运行进度汇报给JobTracker,同时接收JobTracker 发送过来的命令并执行相应的操作(如启动新任务、杀死任务等)

    •TaskTracker 使用“slot”等量划分本节点上的资源量(CPU、内存等)。一个Task 获取到一个slot 后才有机会运行,而Hadoop调度器的作用就是将各个TaskTracker上的空闲slot分配给Task使用。slot 分为Map slot 和Reduce slot 两种,分别供MapTask 和Reduce Task 使用


4)TaskTask 分为Map Task 和Reduce Task 两种,均由TaskTracker 启动














目录
相关文章
|
JavaScript 前端开发 开发者
call、bind、apply区别
【10月更文挑战第26天】`call`、`bind` 和 `apply` 方法在改变函数 `this` 指向和参数传递方面各有特点,开发者可以根据具体的需求和使用场景选择合适的方法来实现更灵活和高效的JavaScript编程。
372 137
|
消息中间件 中间件 Kafka
分布式事务最全详解 ,看这篇就够了!
本文详解分布式事务的一致性及实战解决方案,包括CAP理论、BASE理论及2PC、TCC、消息队列等常见方案,助你深入理解分布式系统的核心技术。关注【mikechen的互联网架构】,10年+BAT架构经验倾囊相授。
分布式事务最全详解 ,看这篇就够了!
C#中的类和继承
C#中的类和继承
108 6
|
缓存 安全 Java
【Java 第十篇章】反射
Java 反射技术让程序能在运行时动态获取类信息并操作对象,极大提升了灵活性与扩展性。本文将介绍反射的基本概念、原理及应用,包括如何使用 `Class`、`Field`、`Method` 和 `Constructor` 类进行动态操作。此外,还将探讨反射在动态加载、框架开发与代码测试中的应用场景,并提醒开发者注意性能与安全方面的问题,帮助你更合理地运用这一强大工具。
80 0
|
数据采集 数据挖掘 数据处理
pandas数据清洗之处理缺失、重复、异常数据
在数据分析和建模的过程中,有相当多的时间要用在数据准备上:加载、清理、转换以及重塑。这些工作会占到分析师时间的80%或更多。幸运的是pandas和内置的Python标准库提供了高效、灵活的工具可以帮助我们轻松的做这些事情。 本文重点介绍通过pandas进行数据的清洗。数据处理中的清洗工作主要包括对需要分析的数据集中的缺失值(空值)、重复值、异常值的处理。
824 0
|
消息中间件 存储 网络协议
手写消息队列(基于RabbitMQ)
手写消息队列(基于RabbitMQ)
|
Ubuntu
UBUNTU启动到BusyBox,怎么办?
UBUNTU启动到BusyBox,怎么办?
483 0
|
算法
Floyd
复习acwing算法基础课的内容,本篇为讲解基础算法:Floyd,关于时间复杂度:目前博主不太会计算,先鸽了,日后一定补上。
235 0
Floyd
|
机器学习/深度学习 算法 机器人
计算机视觉教程2-4:图像仿射变换原理
计算机视觉教程2-4:图像仿射变换原理
361 0
计算机视觉教程2-4:图像仿射变换原理
|
安全 云计算
阿里云山东特色产业集群
在新形势下,通过工具加服务的一站式产品解决方案,助力特色产业集群的中小企业实现高质量数字化发展。