视频学习
https://www.bilibili.com/video/BV1Q441127SH?from=search&seid=16519722762646066419
详细编程实践
一、基础介绍
1.MapReduce是一种分布并行编程框架
2.策略
·MapReduce采用分而治之
·把数据集切分成非常多的独立的小分片
·然后为每一个分片单独地启动一个map任务
·最终通过多个map任务,并行地在多个机器上去处理
3.理念
计算向数据靠拢而不是数据向计算靠拢,要完成一次数据分析时,选择一个计算节点,把运行数据分析的程度放到计算节点上运行
4.MapReduce主要分为Map和Reduce两部分
二、体系结构
Client(客户端):
通过Client可以提交用户编写的应用程序用户通过它将应用程序交到JobTracker端
通过这些Client用户也可以通过它提供的一些接口去查看当前提交作业的运行状态
JobTracker(作业跟踪器):
负责资源的监控和作业的调度
监控底层的其它的TaskTracker以及当前运行的Job的健康状况
当探测到失败的情况就把这个任务转移到其它节点继续执行跟踪任务执行进度和资源使用
TaskTracker(任务调度器):
执行具体的相关任务一般接收JobTracker发送过来的命令
把一些自己的资源使用情况,以及任务的运行进度通过心跳的方式,也就是heartbeat发送给JobTracker
三、工作流程
四、编程实例
WorldCount词频统计