我正在尝试在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
类?
答案 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