【发布时间】:2011-12-24 18:18:42
【问题描述】:
在非分片架构上做 map/reduce 有意义吗?
或者换句话说,在单个服务器上做是否有效。
【问题讨论】:
标签: architecture mapreduce sharding
在非分片架构上做 map/reduce 有意义吗?
或者换句话说,在单个服务器上做是否有效。
【问题讨论】:
标签: architecture mapreduce sharding
对于 MapReduce,我认为您的意思是 Hadoop。还有其他支持 MapReduce 范式的语言和框架。这是我对 Hadoop 的看法。
单台服务器上的 Hadoop 适合用于测试目的(stand alone 和 pseudo-distributed modes)。
当 Hadoop 在单个服务器上运行时,容错等固有特性会丢失,因为如果服务器出现故障,那么与服务器相关的所有数据都会丢失。另外,当数据量少,计算量少时,Hadoop相对于实际处理的开销会很大。
如果选择单台服务器,最好不要选择 Hadoop(专为分布式计算而设计)。
【讨论】:
总的来说,我不同意 Praveen。
是的,我同意在单个系统上运行时,您会失去平台的容错特性。但是,在许多情况下,平台具有用于特定目的的有用属性。
在很多情况下,使用 Hadoop 工具包比不使用 Hadoop 更有优势。
当您使用 Hadoop 编写处理应用程序时,您有几个运行它的选项:
【讨论】:
Does it make sense to do map/reduce on a non sharded architecture ? .... on a single server,没有进一步扩展它的意义。直截了当,由于开销,Hadoop 在单个机器上是一种过度杀伤力。 Hadoop 就像一个电钻,用于具有非分片架构的单个盒子。在我的笔记本电脑上,对于相同的功能,在伪分布式模式下,简单的 grep 比 Hadoop 快 5-10 倍。我不认为调整它会使它变得更好。 Hadoop 的学习曲线也很陡峭。