云计算 频道

云计算技术介绍:神奇的小飞象Hadoop

  2. 算法思想——Hadoop 是怎么思考的

  MapReduce 主要反映了映射和规约两个概念,分别完成映射操作和规约操作。映射操作按照需求操作独立元素组里面的每个元素,这个操作是独立的,然后新建一个元素组保存刚生成的中间结果。因为元素组之间是独立的,所以映射操作基本上是高度并行的。规约操作对一个元素组的元素进行合适的归并。虽然有可能规约操作不如映射操作并行度那么高,但是求得一个简单答案,大规模的运行仍然可能相对独立,所以规约操作也有高度并行的可能。

2. 算法思想——Hadoop 是怎么思考的
▲图1

  MapReduce 把数据集的大规模操作分配到网络互联的若干节点上进行,以实现其可靠性;每个节点都会向主节点发送心跳信息,周期性地把执行进度和状态报告回来。假如某个节点的心跳信息停止发送,或者超过预定时隙,主节点标记该节点为死亡状态,并把先前分配到它的数据发送到其它节点。其中,每个操作使用命名文件的原子操作,避免并行线程之间冲突;当文件被改名时,系统可能会把它复制到任务名以外的其它名字节点上。

  由于规约操作的并行能力较弱,主节点尽可能把规约操作调度在同一个节点上,或者距离操作数据最近(或次近,最近节点出现故障时)的节点上。MapReduce 技术的优势在于对映射和规约操作的合理抽象,使得程序员在编写大规模分布式并行应用程序时,几乎不用考虑计算节点群的可靠性和扩展性等问题。

  应用程序开发人员把精力集中在应用程序本身,关于集群的处理问题等交由MapReduce 完成。

0
相关文章