1.用户要处理存储在分布式系统程序或数据需要自己调用MapReduce开发框架,MapReduce首先是一个开发API 是个开发库,调用这个库来写一个程序然后提交给MapReduce框架来运行
2.MapReduce代表三种东西:
第一,他是一个开发API
第二,又是一个运行框架,API所写的东西只能在这个平台上运行
第三,又是运行环境,除了是框架之外,他还能为这个程序框架真正运行提供一个基础保证
写完代码需要运行,运行时同时在每个节点各运行一份,每一份只负责处理一个节点上本地有的数据
这个程序运行框架首先需要探明数据在哪个节点上
3.最简单的模式:
这个程序提交之后分布式运行框架首先需要探明数据在哪个节点上,尽可能在数据节点的本地运行所以一个程序就被运行成两个实例
第二步:合并数据
Map(映射):把一个程序映射为多个实例然后在每一个要处理的数据块所在的节点上运行的过程。
MapReduce是 数据处理的两个阶段Map 、Reduce
4.Hadoop是一个MapReduce程序的运行框架因此也是一个批处理系统
5.共享存储 NAS,SAN缺陷:存储节点或者存储系统只有一个,当面对海量数据或大量数据需要存取的时候前端的主机节点很多,众多节点都需要完成数据的处理(读数据处理数据)