配置Apache Nutch爬网程序时出错

时间:2014-08-22 13:31:50

标签: java nutch web-crawler

我在Linux服务器上运行Nutch时遇到了一些麻烦。我正在尝试抓取在seed.txt中配置的网址,但我看到以下错误。抓取工具按如下方式触发

nohup java  -classpath "./common-conf/*:*:./plugins/*:" -jar  crawler-jar-2.0-SNAPSHOT.jar &

在此配置中,所有配置属性都存在于 common-conf 目录中。我们在Crawler二进制文件中设置了一些自定义配置。因此,我们构建了一个自定义二进制文件,并且不使用标准的Apache nutch crawler。我看到以下问题:

  1. 我们的自定义 nutch-default.xml nutch-site.xml 未从 common-conf 类路径目录中选取。他们正在从nutch jar文件中获取。当我打印出两个xmls的URL路径时,我看到类似这样的内容

      

    nutch default =   罐子:文件:/home/nbsxlwa/crawler/lib/nutch-2.2.1.jar /nutch-default.xml   nutch site =   罐子:文件:/home/nbsxlwa/crawler/lib/nutch-2.2.1.jar /nutch-site.xml

    我希望从classpath中获取文件。我可以验证文件是否存在。

  2. 我们的自定义 gora.properties 未被提取。我看到以下日志跟踪

      

    14/08/22 07:18:24 WARN store.DataStoreFactory:未找到gora.properties,属性将为空。   14/08/22 07:18:24 INFO crawl.InjectorJob:InjectorJob:使用org.apache.gora.memory.store.MemStore类作为Gora存储类。

    gora.properties存在于类路径中,我不确定为什么它没有被拾取。

    /home/nbsxlwa/crawler/ find . -name "gora.properties"
    ./common-conf/gora.properties
    
  3. http.agent.name 配置属性未被提取。我可以确认配置存在于nutch-site.xml

    下面给出了堆栈跟踪。

    14/08/22 07:18:36 ERROR fetcher.FetcherJob: Fetcher: No agents listed in 'http.agent.name' property.
    14/08/22 07:18:36 WARN crawl.Crawler: Error running crawler job for configuration. Tool run command raises an exception
    java.lang.IllegalArgumentException: Fetcher: No agents listed in 'http.agent.name' property.
            at org.apache.nutch.fetcher.FetcherJob.checkConfiguration(FetcherJob.java:252)
            at org.apache.nutch.fetcher.FetcherJob.run(FetcherJob.java:160)
            at org.apache.nutch.crawl.Crawler.runTool(Crawler.java:78)
            at org.apache.nutch.crawl.Crawler.run(Crawler.java:176)
            at org.apache.nutch.crawl.Crawler.run(Crawler.java:266)
            at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
            at org.apache.nutch.crawl.Crawler.main(Crawler.java:356)
    
  4. regex-normalize.xml regex-urlfilter.txt 未从类路径中获取。我可以确认文件存在于我的类路径中。堆栈跟踪在下面给出

    /home/nbsxlwa/crawler : find . -name "regex-normalize.xml"
    ./common-conf/regex-normalize.xml
    
    /home/nbsxlwa/crawler : find . -name "regex-urlfilter.txt"
    ./common-conf/regex-urlfilter.txt
    
    
    14/08/22 07:18:29 INFO conf.Configuration: regex-normalize.xml not found
    14/08/22 07:18:29 WARN regex.RegexURLNormalizer: Can't load the default rules! 
    14/08/22 07:18:29 INFO conf.Configuration: regex-urlfilter.txt not found
    14/08/22 07:18:29 INFO conf.Configuration: regex-normalize.xml not found
    14/08/22 07:18:29 WARN regex.RegexURLNormalizer: Can't load the default rules!
    
  5. 我已经通过以下链接查看我出错的地方。如何在此处设置Nutch配置设置?

    1. http://mail-archives.apache.org/mod_mbox/nutch-user/201202.mbox/%3CCAGaRif3rtJHokgG5FHSbnJLLUAVGiDnfx7JaW-7kiBjx_ivwSg@mail.gmail.com%3E
    2. http://osdir.com/ml/user.nutch.apache/2012-02/msg00127.html

1 个答案:

答案 0 :(得分:0)

我知道这是旧的,但认为它可能会帮助将来的某个人: 你试过运行: 蚂蚁运行时 更改配置值后,从nutch文件夹中运行它。