2013-04-10 32 views
0

Apache Hadoop受谷歌MapReduce文件的启发。 MapReduce的流程可以被看作两组SIMD(单指令多数据),一个用于Mappers,另一个用于Reducers。减速器通过预定义的“键”消耗Mappers的输出。 MapReduce框架(和Hadoop)的本质是自动分区数据,确定分区和并行作业的数量,并管理分布式资源。用于非MapReduce算法的Hadoop集群并行

我有一个通用算法(不一定MapReducable)并行运行。我没有实现算法本身的MapReduce方式。相反,该算法只是一个单机python/java程序。我想并行运行64个程序副本(假设程序中没有并发问题)。即我对Hadoop集群中的计算资源比MapReduce框架更感兴趣。无论如何,我可以以这种旧式的方式使用Hadoop集群吗?

回答

0

其他关于MapReduce的思考方式是,MR进行转换,Reduce进行某种聚合。

Hadoop还允许仅用于Map的作业。这样,应该可以运行并行运行的64个Map程序副本。

Hadoop具有插槽的概念。默认情况下,每个节点/机器将有2个映射和2个减少插槽。因此,对于64个并行进程,需要32个节点。如果节点具有较高端配置,则每个节点的M/R插槽数量也可以增加。