将Hadoop源码.java程序加载到自己的工程中

原因:分析代码的时候,在Eclipse中通过Build Path引入的软件包(Hadoop-0.20.2-core.jar)是编译后的.class文件,是无法直接修改编译的。要很难跟踪引入包的程序执行过程。

解决方案:可以将Hadoop的源代码复制到自己的工程中,这样和引入软件包的效果是相同的

具体过程:

(1)下载Hadoop的源代码(到apache官网下载)。

(2)解压后就可以看到源码,在工程中新建org.apache.hadoop包,将源代码src目录下的src\core\org\apache\hadoop和src\hdfs\org\apache\hadoop以及src\mapred\org\apache\hadoop三个目录下的所有的文件夹复制到刚才创建的软件包中。

(3)现在程序中肯定有很多错误,因为刚才复制的代码需要引入其他软件包,引入必要的软件包,源码的lib目录下已经有所有的必要软件包,通过Buid Path ->add  external jars引入软件包:jets3t-0.6.1.jar和kfs-0.2.2.jar,到现在程序应该没有错误了,但是还不能运行,应为没有加载必要的配置文件

(4)加载配置文件,将hadoop-0.20.2-core.jar解压,将解压后的文件中的core-default.xml,hadoop-metrics.properties,hdfs-default.xml,mapred-default.xml,bin.tgz这6个配置文件复制到Nutch工程中的conf文件夹中

(5)通过上面处理,程序就可以正常运行了。

备注:不要把Nutch配置文件夹conf中的log4j.properties覆盖掉,回事日志系统出错。

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://www.heiqu.com/a8b5b724916606d139493bb44703d1ff.html