· MapReduce:处理海量数据的分布式计算框架。(MapReduce不具备存储能力)
这个框架解决了:
1、数据分布式存储(HDFS:系统可靠性、可扩展性、并发处理)
2、作业调度
3、容错
4、机器间通信等复杂问题

( * ) MapReduce执行流程

(要求能理解 & 自己讲述 & 画出来):

举例:

· MapReduce两个重要的进程

1、JobTracker(master)
主线程,负责接收客户作业提交,调度任务到工作节点上运行,并提供诸如监控工作节点中状态及任务进度等管理功能,一个MapReduce集群有一个JobTracker,一般运行在可靠的硬件上。
TackTracker是通过周期性的心跳来通知JobTracker其当前的健康状态,每一次心跳包含了可用的map和reduce任务数目、占用的数目以及运行中的任务详细信息。JobTracker利用一个线程池来同时处理心跳和客户请求。
2、TackTracker(slave)
由JobTracker指派任务,实例化用户程序,在本地执行任务并周期性地向JobTracker汇报状态。在每一个工作节点上永远只会有一个TackTracker。
• JobTracker一直在等待JobClient提交作业
• TashTracker每隔3秒向JobTracker发送心跳询问有没有任务可做,如果有,让其派发任务给它执行

 posted on 2018-01-12 21:04  super2feng  阅读(148)  评论(0编辑  收藏  举报