myeclipse导入nutch1.6的配置和若干问题

有两年没整过nutch了,赶上公司需要,又重新理了下思路。我以前写过一篇关于“myeclipse导入nutch1.2源码”的博文,网址   为http://hi.baidu.com/erliang20088/item/a1099948c0d92f146dc2f00b,再将“cygwin安装后的bin目录放到window系统的PATH变量中。 导入的过程那篇合适,这次导入nutch1.6也是参考这篇博文。

一、配置文件修改:

    (1)nutch-site.xml修改:  //只添加下边一个就可以了,算是nutch的规定

                        <property>

                          <name>http.agent.name</name>

                          <value>zel</value>

                          <description></description>

                        </property>

    (2)nutch-default.xml修改:  //只需要修改plugin.folders,在这个文件中search一下就可以找到了。                     

                <property>

                  <name>plugin.folders</name>

                <!-- <value>plugins</value> -->  //这个是原始配置,是用在发布包时的,源码中运行和二次开发,首先要改成./src/plugin,当发布时则要再改成plugins就可以了。

                 <value>./src/plugin</value>

                </property>

  二、正常情况下,配置完成后就可以完成单机情况下的nutch的单机运行了,但是nutch1.2之后的版本在cygwin上运行时,总会报个错误

  java.io.IOException: Failed to set permissions of path: \tmp\hadoop-zel\mapred\staging\zel1558626937\.staging to 0700

细看debug message的话,就会找到相关的那个类,

  at org.apache.hadoop.fs.FileUtil.checkReturnValue(FileUtil.java:689)

这个没有官方的解释,我暂时认为算是bug吧,或是跟cgywin结合的bug,

  解决方法很变态:

     加载一下hadoop的源码,找到源码包hadoop-core-1.0.3.jar所在的包处,这是nutch1.6对应的hadoop-core的jar包,将这个方法的所有代码行全部注释,重新对hadoop-core-1.0.3.jar打包,然后替换掉nutch1.6原始的包就可以了。


希望对后来人有帮助。

你可能感兴趣的:(java,源码,hadoop,MyEclipse,Nutch)