Hadoop集群用于并行的非MapReduce算法

时间:2013-04-10 00:09:41

标签: hadoop parallel-processing cluster-computing

Apache Hadoop的灵感来自Google MapReduce论文。 MapReduce的流程可以被认为是两组SIMD(单指令多数据),一组用于Mappers,另一组用于Reducers。减速器通过预定义的“密钥”消耗Mappers的输出。 MapReduce框架(和Hadoop)的本质是自动分区数据,确定分区和并行作业的数量,以及管理分布式资源。

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

1 个答案:

答案 0 :(得分:0)

考虑MapReduce的另一种方式是MR进行转换,Reduce进行某种聚合。

Hadoop还允许仅限Map的作业。这样就可以并行运行64个Map程序。

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