这四天的学习探索都在这里,明天开始正式写代码!!! 通过博客+魔改 让这个lab变成自己的东西
什么是MapReduce:
对于输入数据, 用户指定一种 MapFunc 则可以生成一个个键值对(称作 intermediate) , 这一过程被叫做 Map。对于Intermediate, 用户指定一种 Reduce Function,则可以根据 Intermediate 的 key 对Intermediate 进行合并归类, 这一过程被叫做 Reduce。
主体流程:
- coordinator 启动
- worker启动
- worker发送RPC消息请求coordinator 分配map任务
- coordinator 返回map任务的相关信息
- worker开始执行map任务
- 重复3-6。 直到coordinator不再分配新的map任务,worker等待所有map任务执行结束
- worker发送RPC消息请求coordinator 分配reduce任务
- coordinator 返回reduce任务的相关信息
- worker开始执行reduce任务
- 重复7-9。 直到coordinator不再分配reduce任务,worker等待coordinator结束消息,然后退出结束
Task:
RPC:
Maser:
Worker: