这个问题是在Eclipse中调试Nutch时产生的,在机器A的Eclipse中执行Crawl时报出ClassNotFound的错误,而在同样配置的机器B中完全正常,这两台机器环境的唯一区别是机器A中Hadoop是独立,而机器B中的Hadoop是Nutch带的
问题原因分析:
Hadoop执行作业时需要提交可执行文件,即jar文件,否则会抛出no job jar file set的警告。
机器A中未包含jar文件,使得Hadoop的jobclient基于其本地的classpath搜索可用的class文件,但未找到,则抛出ClassNotFound的错误
机器B中由于使用了Nutch中的Hadoop,因此jobclient能够在其目录下找到同名的class文件。