4.《hadoop实战》Hadoop 计算模型一MapReduce

   Map Reduce是Google公司的核心计算模型, 它将运行于大规模集群上的复杂的并行计算过程高度地抽象为了两个函数:map和 reduce。 Hadoop是Doug Cutting受到Google发表的关于MapReduce的论文的启发而开发出来的。 Hadoop中的MapReduce是一个使用简易的软件框架, 基于 它写出来的应用程序能够运行在由上千台商用机器组成的大型集群上, 井以一 种可靠容错的方式并行处理上 T级别的数据集, 实现了Hadoop在集群上的数据和任务的并行计算与处理。

    一个MapReduce 作业(job) 通常会把输入的数据集切分为若干个独立的数据块, 由map任务( task)以完全并行的方式处理 它们, 框架会先对map的输出进行排序, 然后把结果输入给reduce任务。 通常作业的输入和输出都会被存储在文件系统中。 整个框架负责任务 的调度和监控, 以及重新执行已经失败的任务。

    通常, MapReduce框架和分布式文件系统是运行在一组相同的节点上的, 也就是说, 计算节点和存储节点是在一起的。 这种配置允许框架在那些已经存好数据的节点上高效地调度任务, 这可以使整个集群的网络带宽被非常高效的利用。(即本地计算)

    MapReduce框架由一个单独的master JobTracker 和集群节点上的 slave TaskTracke共同组成。 master负责调度构成一个作业的所有任务, 这些任务分布在不同的 slave上。 master监控它们的执行情况, 并重新执行已经失败的任务, 而slave仅负责执行由master 指派的任务。

    在Hadoop上运行的作业需要指明程序的输入/输出位置(路径〉, 并通过实现合适的接口或抽象类来提供map和 reduce函数。 同时还需要指定作业的其他参数, 构成作业配置(job configuration)。 在Hadoop的 jobclient提交作业(jar包/可执行程序等〉和配置信息给Job Tracker之后, JobTracker会负责分发这些软件和配置信息给slave及调度任务, 并监控它们的执行, 同时提供状态和诊断信息给jobclient.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值