Amazon弹性MapReduce服务 - 新闻中心 - 福州哈唐网络-福建IDC企业!专注云主机及服务器租用托管13年!

新闻中心

首页 > 新闻中心 > 行业新闻 >

Amazon弹性MapReduce服务

时间:2017-03-20 23:25:18   阅读:

  在Amazon推出弹性MapReduce服务之前,已经有人成功地通过在EC2上部Hadoop实现了MapReduce的功能,现在Amazon将这项服务整合到AWS之中,为需要进行海量数据处理的用户提供了极大便利。用户可以忽略服务器及软件部署的细节问题,而将主要精力集中在对数据的处理和研究之中。MapReduce及Hadoop的相关内容在书中其他部分有详细介绍,这里就不再重复,本节重点介绍Amazon的弹性MapReduce实现方式。
 
  Amazon的弹性MapReduce是通过EC2和S3来实现的,其基本架构如图3-30所示。
 
\
 
  用户在使用弹性MapReduce时,首先要将相关数据上传至S3,在Amazon弹性MapReduce中,S3作为原始数据和处理结果的存储系统。需要上传的相关数据中既包括用户待处理的数据,也包括一个Mapper和一Reducer执行代码。Mapper和Reducer分别实现了MapReduce中的Map(映射)和Reduce(化简)功能。这两个功能实现的语言并没有限制,用户可以根据自己的习惯选择。在弹性MapReduce内部也有一些Amazon提供给用户的默认Mapper和Reducer。相关数据上传成功后用户就可以向系统发出一个服务请求,系统接收到请求后就会启动一个由一定数量的EC2实例组成的集群系统,集群中的实例数量和实例类型用户可以自行设置。为了使集群的效率达到最高,用户在使用前最好做相关测试以确定需要的实例数量和类型。EC2集群系统采用主/从(Master/Slave)模式,即系统中有一个主节点和若干数量的从节点,主/从节点上都运行着Hadoop。主节点上的Hadoop在主节点接受启动集群的服务请求后,将S3中的待处理数据划分成若干个子数据集:从节点从S3中下载相关子数据集,这包括划分好的待处理数据的子集、一个Mapper以及一个Reducer;接下来,每个从节点都独自处理分发到的子数据集。整个运行过程在主节点的监测之下,每个从节点需要向主节点发送运行状态元数据(Status Metadata)。处理完的结果将再次被汇总至S3,此时弹性MapReduce服务会通知用户数据处理完毕,用户直接从S3上下载最终结果即可。
 
  从上面的处理过程可以看出,弹性MapReduce的运行过程非常简单,用户根本不需要考虑计算中涉及的服务器托管部署、维护及软件环境的配置。除了这些基本的设置不需要用户处理之外,Amazon在可靠性、数据安全等方面也采取了和其他云计算服务类似的措施。例如为了保证髙可靠性,子数据集不是被分发到一个从节点而是被分发到多个从节点,这样保证单个从节点的失败不会影响最后结果。Amazon允许用户在上传数据前对数据进行加密并通过安全的HTTPS协议上传数据。弹性MapReduce中的实例被划分成 两个安全组:一个是主节点安全组,另一个是从节点安全组。Amazon提供了诸如此类的一系列完善的用户安全服务。在弹性MapReduce中,有一个概念需要特别提请注意: 任务流(Job Flow),任务流实际上是由一系列前后相关的处理过程组成的,可以与线性链表的结构类比,除了第一个节点和最后一个节点,每个节点既是前一个节点的后继也是后一个节点的前驱。同样的道理,任务流中除了第一个任务和最后一个任务外,其他的任务既是作为上一个任务的输出也是作为下一个任务的输入。Amazon的弹性MapReduce将数据的实际计算过程都看成是任务流中的某一个步骤。
 


闽公网安备 35010002000114号