在eclipse中调试hadoop 2.2.0时找不到hadoop-mapreduce-client-core-2.2.0.jar的源代码

时间:2013-12-25 08:26:16

标签: debugging hadoop remote-debugging

我正在尝试在eclispe中调试我的mapreduce程序。我将export HADOOP_OPTS="-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=5002"放在hadoop-env.sh并配置了eclipse,以便在localhost的端口5002上进行远程调试。

它在main开始调试正常但是当涉及到job.waitForCompletion(true);时,它失败并显示一个新文件JobSubmitter.class

Source not found
The JAR file /home/hduser/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-client-core-2.2.0.jarhas no source attachment. You can attach the source by clicking Attach Source below.

我如何调试map和reduce函数甚至我的RecoredRedader类?

2 个答案:

答案 0 :(得分:1)

来源被打包到不同的JAR中。在您的情况下,您必须查找路径share/hadoop/mapreduce/sources

在eclipse中存在必须提供的hadoop-mapreduce-client-core-2.2.0-sources.jar

答案 1 :(得分:0)

这是我在hadoop遇到的最简单的问题。 :) 您只需单击Attach Sources并在sources文件夹中选择所需的* -sources.jar。

如果你有一个hadoop-common-2.2.0.jar的错误,那么你必须附上hadoop-common-2.2.0-source.jar