Nutch / Hadoop: regex-normalize.xml и regex-urlfilter.txt не найдены ошибки, даже если они существуют - PullRequest
0 голосов
/ 07 ноября 2019

Я пытаюсь запустить Nutch и Hadoop через Eclipse и следовал нескольким урокам, чтобы настроить его. В настоящее время я застрял в исключении nullpointerexception, которое, по моему мнению, вызывается из-за отсутствия 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.

1 Ответ

0 голосов
/ 08 ноября 2019

Папка conf/ должна находиться в пути к классам Java. Это проще всего сделать, запустив Nutch с помощью одного из предоставленных сценариев bin/nutch или bin/crawl. Если используется бинарный пакет, расположение скрипта apache-nutch-1.16/bin/nutch. С исходным пакетом это apache-nutch-1.16/runtime/local/bin/nutch после выполнения ant runtime. Использование сценариев также позволяет размещать файлы конфигурации в другом каталоге и указывать NUTCH_CONF_DIR на этот каталог. Скрипты просто поместят это место перед classpath.

...