【问题标题】:Nutch/Hadoop: regex-normalize.xml and regex-urlfilter.txt not found error even though they existNutch/Hadoop:regex-normalize.xml 和 regex-urlfilter.txt 未找到错误,即使它们存在
【发布时间】:2019-11-07 16:05:32
【问题描述】:

我正在尝试通过 Eclipse 运行 nutch 和 hadoop,并按照一些教程进行设置。我目前陷入空指针异常,我认为这是由于找不到 regex-urlfilter.txt 和 regex-normalize.xml 造成的。

这是日志中的错误跟踪:-

[LocalJobRunner Map Task Executor #0] INFO org.apache.hadoop.conf.Configuration  - regex-normalize.xml not found
4473 [LocalJobRunner Map Task Executor #0] WARN org.apache.nutch.net.urlnormalizer.regex.RegexURLNormalizer  - Can't load the default rules! 
4477 [LocalJobRunner Map Task Executor #0] DEBUG org.apache.nutch.util.ObjectCache  - No object cache found for conf=Configuration: core-default.xml, core-site.xml, mapred-default.xml, mapred-site.xml, yarn-default.xml, yarn-site.xml, hdfs-default.xml, hdfs-site.xml, file:/tmp/hadoop-338737067/mapred/local/localRunner/338737067/job_local1524701719_0001/job_local1524701719_0001.xml, instantiating a new object cache
4486 [LocalJobRunner Map Task Executor #0] INFO org.apache.hadoop.conf.Configuration  - regex-urlfilter.txt not found
4486 [LocalJobRunner Map Task Executor #0] INFO org.apache.hadoop.mapred.MapTask  - Starting flush of map output
4516 [LocalJobRunner Map Task Executor #0] DEBUG org.apache.hadoop.util.concurrent.ExecutorHelper  - afterExecute in thread: LocalJobRunner Map Task Executor #0, runnable type: java.util.concurrent.FutureTask
4516 [Thread-3] INFO org.apache.hadoop.mapred.LocalJobRunner  - map task executor complete.
4521 [Thread-3] WARN org.apache.hadoop.mapred.LocalJobRunner  - job_local1524701719_0001
java.lang.Exception: java.lang.NullPointerException
    at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:491)
    at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:551)

这两个文件都存在于 \workspace\apache-nutch-1.16\conf 文件夹中,我不确定我做错了什么。我已经仔细检查了我的环境变量是否为 HADOOP_HOME 和 HADOOP_BIN 正确设置,并且它们指向正确的目录。我不确定他们正在查看哪个目录来查找 regex-urlfilter.txt 和 regex-normalize.xml。任何解决此问题的帮助将不胜感激。

我正在使用 Hadoop 3.0.0 和 apache-nutch-1.16。

【问题讨论】:

    标签: eclipse hadoop nutch


    【解决方案1】:

    conf/ 文件夹需要位于 Java 类路径中。最简单的方法是使用提供的脚本bin/nutchbin/crawl 之一运行Nutch。如果使用二进制包,则脚本位置为apache-nutch-1.16/bin/nutch。使用源包,在执行ant runtime 之后它是apache-nutch-1.16/runtime/local/bin/nutch。使用脚本还允许将配置文件放在不同的目录中,并将 NUTCH_CONF_DIR 指向该目录。脚本只会将此位置放在类路径的前面。

    【讨论】:

    猜你喜欢
    • 2010-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    相关资源
    最近更新 更多