Hadoop Standalone和Pseudodistributed模式中的DataFlow差异?

时间:2012-01-12 14:27:52

标签: hadoop mapreduce

有人可以告诉我Hadoop Standalone和Pseudodistributed模式的数据流有什么区别。事实上,我试图运行John Norstad提出的矩阵乘法的例子。它在hadoop独立模式下运行良好,但在伪分布模式下无法正常工作。我无法解决问题所以请告诉我hadoop独立模式和伪分布模式之间的主要区别,这有助于解决所述问题。谢谢

Reagrds,

WL

1 个答案:

答案 0 :(得分:4)

在独立模式下,所有(namenode,datanode,tasktracker,jobtracker)都在一台计算机上的一个JVM中运行。在伪分布式模式下,一切都在它自己的JVM中运行,但仍在一台机器上运行。在客户端接口方面应该没有任何区别,但如果序列化要求在伪分布式模式下更严格,我不会感到惊讶。

我的理由是,在伪分布式模式下,必须对所有内容进行序列化以在JVM之间传递数据。在独立模式下,所有内容都不是必需的可序列化(因为所有内容都在一个JVM中,你有共享内存),但我不记得是否编写代码是为了利用这个事实,因为那不是Hadoop的正常用例。

编辑:鉴于您没有看到错误,我认为这听起来像MapReduce作业编码的方式有问题。也许他依赖于减速器之间共享记忆的东西?如果是这样,那将在独立模式下工作,但不能在伪分布模式下工作(或者就真正的分布式模式而言)。