在云中使用 MapReduce 和负载平衡
2010-08-26 00:00:00 来源:WEB开发网这些服务意味着,客户端将使用 Hadoop、Eclipse 等平台以及在搜索文件或使用某些软件时使用的操作系统。此外,为了存储其数据(数据库或文件),在云中,客户端将不得不占用一些数据中心(IaaS)的内存空间。所有这些对终端用户都是透明的。
Randomized Hydrodynamic Load Balancing:基本内容
负载平衡用来确保在使用其他资源时您现有的资源都不是空闲的。若要平衡负载分布,可以将负载从源节点(有多余工作负载)的迁移到相对较轻的负载目标节点。
在运行时应用负载平衡时,它被称之为动态负载平衡 — 这可以根据执行节点选择直接实现或以迭代的方式实现:
迭代的方法通过几个迭代步骤确定最终目标节点。
直接方法在一个步骤中选择最终目标节点。
本文使用 Randomized Hydrodynamic Load Balancing 方法,这是一种同时利用了直接和迭代方法的混合方法。
MapReduce:基本内容
MapReduce 程序用于以并行方式计算大量数据。这就需要在很多计算机之间分配工作负荷。Hadoop 提供了一种系统的方法来实现这种程序设计范式。
计算需要输入一组键/值对,生成一组输出键/值对。计算涉及的两个基本操作:Map 和 Reduce。
用户编写的 Map 操作需要输入并生成一组中间键/值对。MapReduce 库将所有与同一中间键 #1 相关联的中间值组合到一起,并且将它们传递给 Reduce 功能。
同样是用户编写的 Reduce 函数接受一个中间键 #1 和该键的一组值。它将这些值合并形成可能较小的一组值。通常每次 Reduce 调用只生成一个输出值 0 或 1。中间值通过迭代器(一种可以让程序员遍历所有集合元素的对象,忽略其具体的实现)提供给用户的 Reduce 函数。这样,您就可以处理太大而无法放入内存的值列表。
- ››使用脚本恢复WinXP系统的用户登录密码
- ››使用phpMyadmin创建数据库及独立数据库帐号
- ››使用Zend Framework框架中的Zend_Mail模块发送邮件...
- ››使用cout标准输出如何控制小数点后位数
- ››使用nofollow标签做SEO的技巧
- ››使用 WebSphere Message Broker 的 WebSphere Tra...
- ››使用SQL Server事件探查器做应用程序的性能分析
- ››使用SQL Server事件探查器分析死锁原因
- ››使用纯文本文件打造WCF服务
- ››使用 Dojo 开发定制 Business Space 小部件,第 4...
- ››使用 ADDRESS 与 INDIRECT函数查询信息
- ››使用 COLUMN函数编制单元信息
赞助商链接