zoukankan      html  css  js  c++  java
  • Nutch1.0或者Nutch1.1如何导入MyEclipse与Eclipse

    Nutch1.0或者Nutch1.1如何导入MyEclipse与Eclipse

    今天浪费了一天的时间花费在这上面,一开始是用Nutch1.1导入在MyEclipse与Eclipse中的,不断的尝试,不断的调试,上网查阅了太多的文章了,发现按他们每一种的方式都会出错,最后还是跟人交流之后,用自己的方式尝试成功了.好了不费话了.下面说说如何成功导入Nutch1.0而不会出错.

    前期准备工作及导入步骤:

    1.下载Cygwin工具:http://www.cygwin.com并安装Cygwin.安装成功后,记得在我的电脑属性中配置环境变量:

    编辑path属性,加入d:cygwin/bin到path中.


    2.下载nutch软件包:

    http://labs.renren.com/apache-mirror//nutch/一般下载bin包即可.


    3.解压刚下载下来的nutch软件包.如,解压位置为:D:\nutch-1.04.在Eclipse或者是在MyEclipse中新建一个Java Project项目, 名字自己定义(Nutch). 选择”Create project from existing source”,指向自己nutch-1.0的目录.

    4.点击下一步,切换到”Libraries”选择”Add Class Folder…” 按钮,从列表中选择”conf”. —->Default Output floder —->Brower-à从Create New Folder中…新建一个新文件夹 output.(这一步跟网上的所有办法都不一样.).

    注意:修改output文件夹下面的nutch-site.xml文件:

    Xml代码  
    1. <property>  
    2.   <name>http.agent.name</name>  
    3.   <value>HD nutch agent</value>  
    4.   <description></description>  
    5. </property>  
    6.   
    7. <property>  
    8.   <name>http.agent.description</name>  
    9.   <value>hpjianhua</value>  
    10. <description></description>  
    11. </property>  
    12.   
    13. <property>  
    14.   <name>http.agent.url</name>  
    15.   <value>http://www.163.com</value>  
    16.   <description></description>  
    17. </property>  
    18.   
    19. <property>  
    20.   <name>http.agent.email</name>  
    21.   <value>hpjianhua@163.com</value>  
    22.   <description></description>  
    23. </property>  

    5.点击Finish 来完成Nutch1.0的导入.

    下面在MyEclipse或者是Eclipse中对Nutch1.0进行修改以去掉项目中提示的错误:

    1.      修改conf文件夹下面的文件:

    1.1修改nutch-site.xml文件:

    Xml代码  
    1. <configuration>  
    2.     <property>  
    3.       <name>http.agent.name</name>  
    4.       <value>nutch</value>  
    5.       <description></description>  
    6.     </property>  
    7.       
    8.     <property>  
    9.       <name>http.agent.description</name>  
    10.       <value>hpjianhua</value>  
    11.     <description></description>  
    12.     </property>  
    13.       
    14.     <property>  
    15.       <name>http.agent.url</name>  
    16.       <value>http://www.163.com</value>  
    17.       <description></description>  
    18.     </property>  
    19.       
    20.     <property>  
    21.       <name>http.agent.email</name>  
    22.       <value>hpjianhua@163.com</value>  
    23.       <description></description>  
    24.     </property>  
    25. </configuration>  

    1.2修改nutch-defaul.xml文件:

    Xml代码  
    1. <property>  
    2.   <name>http.agent.name</name>  
    3.   <value>HD nutch agent</value>  
    4.   <description>HTTP 'User-Agent' request header. MUST NOT be empty -   
    5.   please set this to a single word uniquely related to your organization.  
    6.   
    7.   NOTE: You should also check other related properties:  
    8.   
    9.     http.robots.agents  
    10.     http.agent.description  
    11.     http.agent.url  
    12.     http.agent.email  
    13.     http.agent.version  
    14.   
    15.   and set their values appropriately.  
    16.   
    17.   </description>  
    18. </property>  

    1.3修改crawl-urlfilter.txt文件:

    Xml代码  
    1. # accept hosts in MY.DOMAIN.NAME  
    2. +^http://([a-z0-9]*\.)*163.com/  

    如果是Nutch1.1可以跳过下面的2 , 3, 4,直接跑到第5步继续!

     

    2.      下载MP3跟rtf的jar文件

    http://nutch.cvs.sourceforge.net/nutch/nutch/src/plugin/parse-mp3/lib/

    http://nutch.cvs.sourceforge.net/nutch/nutch/src/plugin/parse-rtf/lib/

    分别拷贝到src/plugin/parse-mp3/lib 和 src/plugin/parse-rtf/lib/文件夹下

    3.      刷新几下,右键选择工程文件夹,选择Build Path->Configure Build Path…在弹出的窗口上,切换到Libraries,选择Add Jars…,添加刚才下载的jar文件到工程。

    4.到这一步,一般的工程都会有两个错误,nutch的official 1.0 release版本中,这两个问题因为licensing issues没有修复。

    接下来的就是最关键的部分了

    Java代码  
    1. 修改—-  src\plugin\parse-rtf\src\java\org\apache\nutch\parse\rtf下RTFParseFactory.java  
    2. 添加—– import org.apache.nutch.parse.ParseResult;  
    3. 将  —– public Parse getParse(Content content) {  
    4. 改为—- public ParseResult getParse(Content content) {  
    5. 将  —- return new ParseStatus(ParseStatus.FAILED,  
    6. ParseStatus.FAILED_EXCEPTION,  
    7. e.toString()).getEmptyParse(conf);  
    8. 改为—–return new ParseStatus(ParseStatus.FAILED,  
    9. ParseStatus.FAILED_EXCEPTION,  
    10. e.toString()).getEmptyParseResult(content.getUrl(), getConf());  
    11. 将——return new ParseImpl(text,  
    12. new ParseData(ParseStatus.STATUS_SUCCESS,  
    13. title,  
    14. OutlinkExtractor.getOutlinks(text, this.conf),  
    15. content.getMetadata(),  
    16. metadata));  
    17. 改为——return ParseResult.createParseResult(content.getUrl(),  
    18. new ParseImpl(text,  
    19. new ParseData(ParseStatus.STATUS_SUCCESS,  
    20. title,  
    21. OutlinkExtractor.getOutlinks(text, this.conf),  
    22. content.getMetadata(),  
    23. metadata)));  
    24. 修改——src\plugin\parse-rtf\src\test\org\apache\nutch\parse\rtf下的TestRTFParser.java  
    25. 将—–parse = new ParseUtil(conf).parseByExtensionId(“parse-rtf”, content);  
    26. 改为—-parse = new ParseUtil(conf).parseByExtensionId(“parse-rtf”, content).get(urlString); 到这一步,eclipse上面的工程就会没有错误了 .  

    5.在nutch1.0的目录下新建立一个文件夹urls,然后再在urls中建立一个文本文件url. 写上链接。注意后面要有 “/”.

    6.运行Nutch1.0:

    选择Run->Run As->Java Application在弹出的Select Java Application上选择Crawl-org.apache.nutch.crawl. 接下来,

    选择 Run->Run Configurations…在左边的Java Application下面会有Crawl这一项,选择它,

    切换到Arguments,Program Arguments的内容就是要设置的参数,填上urls -dir crawl -depth 3 -topN 50(这里视自己的具体情况而定,urls为链接)

    在VM arguments下面填上-Dhadoop.log.dir=logs -Dhadoop.log.file=hadoop.log.

    直接运行吧:看在你的控制台上出现信息了没.

    注意:关于Java Heap Size的问题,查看logs/hadoop.log或控制台输出,如果出现类似java.lang.OutOfMemoryError: Java heap space语句,

    解决方法:

    设置Eclipse -> Window -> Preferences -> Java -> Installed JREs -> edit -> Default VM arguments

    7.设置为-Xms256m -Xmx1024m,其中Xms为最小内存,Xmx为最大内存

  • 相关阅读:
    Design + Code (iOS)
    Objective-C Programming (2nd Edition)
    iOS Programming The Big Nerd Ranch Guide (4th Edition)
    反射
    面向对象
    人狗大战
    数据结构初识(三级菜单)
    面向对象(组合)
    练习
    re模块
  • 原文地址:https://www.cnblogs.com/cy163/p/2911114.html
Copyright © 2011-2022 走看看