Невозможно запустить работу сборщика в режиме развертывания Nutch - PullRequest
1 голос
/ 25 января 2012

Я успешно запустил Nutch (v1.4) для сканирования в локальном режиме в моей системе Ubuntu 11.10. Однако при переключении в режим «развертывание» (при прочих равных условиях) я получаю сообщение об ошибке во время цикла выборки.

У меня Hadoop успешно работает на машине в псевдораспределенном режиме (коэффициент репликации равен 1, и у меня есть только 1 карта и 1 уменьшенная настройка задания). «jps» показывает, что все демоны Hadoop запущены и работают. 18920 Jps 14799 DataNode 15127 JobTracker 14554 NameNode 15361 TaskTracker 15044 SecondaryNameNode

Я также добавил путь HADOOP_HOME / bin к моей переменной PATH.

PATH = $ PATH: / Главная / jimb / Hadoop / бен

Затем я запустил сканирование из каталога nutch / deploy, как показано ниже:

bin / nutch crawl / data / run / ar / seedurls -dir / data / run / ar / crawls

Вот вывод, который я получаю:

  12/01/25 13:55:49 INFO crawl.Crawl: crawl started in: /data/runs/ar/crawls
  12/01/25 13:55:49 INFO crawl.Crawl: rootUrlDir = /data/runs/ar/seedurls
  12/01/25 13:55:49 INFO crawl.Crawl: threads = 10
  12/01/25 13:55:49 INFO crawl.Crawl: depth = 5
  12/01/25 13:55:49 INFO crawl.Crawl: solrUrl=null
  12/01/25 13:55:49 INFO crawl.Injector: Injector: starting at 2012-01-25 13:55:49
  12/01/25 13:55:49 INFO crawl.Injector: Injector: crawlDb: /data/runs/ar/crawls/crawldb
  12/01/25 13:55:49 INFO crawl.Injector: Injector: urlDir: /data/runs/ar/seedurls
  12/01/25 13:55:49 INFO crawl.Injector: Injector: Converting injected urls to crawl db entries.
  12/01/25 13:56:53 INFO mapred.FileInputFormat: Total input paths to process : 1
...
...
  12/01/25 13:57:21 INFO crawl.Injector: Injector: Merging injected urls into crawl db.
...
  12/01/25 13:57:48 INFO crawl.Injector: Injector: finished at 2012-01-25 13:57:48, elapsed: 00:01:59
  12/01/25 13:57:48 INFO crawl.Generator: Generator: starting at 2012-01-25 13:57:48
  12/01/25 13:57:48 INFO crawl.Generator: Generator: Selecting best-scoring urls due for fetch.
  12/01/25 13:57:48 INFO crawl.Generator: Generator: filtering: true
  12/01/25 13:57:48 INFO crawl.Generator: Generator: normalizing: true
  12/01/25 13:57:48 INFO mapred.FileInputFormat: Total input paths to process : 2
...
  12/01/25 13:58:15 INFO crawl.Generator: Generator: Partitioning selected urls for politeness.
  12/01/25 13:58:16 INFO crawl.Generator: Generator: segment: /data/runs/ar/crawls/segments/20120125135816
...
  12/01/25 13:58:42 INFO crawl.Generator: Generator: finished at 2012-01-25 13:58:42, elapsed: 00:00:54
  12/01/25 13:58:42 ERROR fetcher.Fetcher: Fetcher: No agents listed in 'http.agent.name' property.

Exception in thread "main" java.lang.IllegalArgumentException: Fetcher: No agents listed in 'http.agent.name' property.
        at org.apache.nutch.fetcher.Fetcher.checkConfiguration(Fetcher.java:1261)
        at org.apache.nutch.fetcher.Fetcher.fetch(Fetcher.java:1166)
        at org.apache.nutch.crawl.Crawl.run(Crawl.java:136)
        at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:65)
        at org.apache.nutch.crawl.Crawl.main(Crawl.java:55)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at org.apache.hadoop.util.RunJar.main(RunJar.java:156)

Теперь файлы конфигурации для «локального» режима настроены нормально (поскольку сканирование в локальном режиме прошло успешно). Для работы в режиме развертывания, поскольку папка «deploy» не имела подкаталога «conf», я предположил, что либо: а) файлы conf должны быть скопированы в "deploy / conf", ИЛИ б) файлы conf должны быть размещены на HDFS.

Я подтвердил, что вариант (а) выше не помогает. Итак, я предполагаю, что файлы конфигурации Nutch должны существовать в HDFS для успешного запуска сборщика HDFS? Тем не менее, я не знаю, по какому пути в HDFS я должен поместить эти файлы conf Nutch, или, возможно, я лаю не на том дереве?

Если Nutch читает файлы конфигурации в режиме «развертывания» из файлов в «local / conf», то почему локальный обход работает нормально, а сканирование в режиме развертывания - нет?

Что мне здесь не хватает?

Заранее спасибо!

Ответы [ 2 ]

2 голосов
/ 03 апреля 2012

Попробуйте это:

  1. В исходном каталоге измените файл conf/nutch-site.xml, чтобы правильно установить http.agent.name.

  2. пересоздать код, используя ant

  3. Перейдите в каталог runtime/deploy, задайте необходимые переменные среды и попробуйте выполнить сканирование еще раз.

1 голос
/ 24 февраля 2012

Вероятно, потому что вы еще не восстановили.Можете ли вы запустить "муравей" и посмотреть, что происходит?Очевидно, вам нужно обновить http.agent.name в nutch-site.xml, если вы еще этого не сделали.

...