2011-08-08 27 views
0

我最近在我的Windows 7机器上安装了hadoop的vmware实例。我还在eclipse中设置了hadoop插件,并成功地在VM上运行了一个示例map-reduce程序。但是,我在Eclipse中对mapreduce程序所做的更改未反映在运行中。当我通过eclipse运行它时,它仍然运行最初的程序。我尝试使用更改后的代码从头开始设置新的地图缩减程序,并且能够使用我的更改来运行它。然而,我在第一次运行后所做的任何更改都不会生效。如果代码有编译错误,Eclipse会抱怨并且它没有运行,但是当它运行时它仍然运行第一个版本。 我正在使用hadoop 0.18.0,来自yahoo的教程和eclipse 3.3.2的vmware镜像。 我错过了什么?为什么Eclipse的Hadoop插件会忽略我对程序所做的更改?

+0

难道这个问题,Hadoop的插件只发生?我不确定人们从插件中获得什么。为什么不使用Hadoop作为eclipse中的外部归档文件,并像往常一样运行,就像其他任何Java程序一样。这是我的设置。从插件得到什么? – delmet

+0

我认为插件对于像我这样的新手来说,不需要太多的配置问题就可以轻松开始。此外,在hadoop实例中将文件复制到DFS和从DFS复制文件很容易,并且无需进入VM即可查看结果。如果我无法弄清楚,我可能会丢弃插件。 – derdo

+0

如果您只在本地进行调试或运行,为了开发和测试目的,设置配置真的很容易。实际上,eclipse可能会忽略配置文件。 – delmet

回答

2

如果有人陷入同样的​​陷阱,这是我如何解决这个问题。

该问题的解决方案是选择“运行 - >运行 - >在Hadoop上运行”。这就是创建一个传递给Hadoop实例的.jar文件(和site.conf文件)。 .jar文件创建后,它将被复制到项目的“运行/调试设置 - >类路径”中列出的文件夹中。这是Hadoop执行的内容。

如果你像普通的Java应用程序那样运行你的map reduce程序(例如使用运行快捷键)它仍然运行hadoop程序,但Hadoop的.jar文件不会被重新创建。这导致相同的程序一次又一次地运行。

Run as options Classpath in run/debug properties in project properties

相关问题