сканировать веб-сайты из веб-приложения Java без использования bin/nutch

я пытаюсь использовать nutch (1.1) без bin/nutch из моего веб-приложения (java) mojarra 2.0.2... я ищу примеры в google, но нет примеров, как я могу это реализовать:/... я получить исключение, и задание не выполняется: / (я думаю, что-то с хаупом)... вот мой код:

  public void run() throws Exception {
      final String[] args = new String[] {
            String.format("%s%s%s%s", JSFUtils.getWebAppRoot(), "nutch", File.separator, DIRECTORY_URLS),
            "-dir", String.format("%s%s%s%s", JSFUtils.getWebAppRoot(), "nutch", File.separator, DIRECTORY_CRAWL),
            "-threads", this.preferences.get("threads"),
            "-depth", this.preferences.get("depth"),
            "-topN", this.preferences.get("topN"),
            "-solr", this.preferences.get("solr")
        };
      Crawl.main(args);
  }

и часть протокола:

10/05/17 10:42:54 INFO jvm.JvmMetrics: Initializing JVM Metrics with processName=JobTracker, sessionId=
10/05/17 10:42:54 WARN mapred.JobClient: Use GenericOptionsParser for parsing the arguments. Applications should implement Tool for the same.
10/05/17 10:42:54 INFO mapred.FileInputFormat: Total input paths to process : 1
10/05/17 10:42:54 INFO mapred.JobClient: Running job: job_local_0001
10/05/17 10:42:54 INFO mapred.FileInputFormat: Total input paths to process : 1
10/05/17 10:42:55 INFO mapred.MapTask: numReduceTasks: 1
10/05/17 10:42:55 INFO mapred.MapTask: io.sort.mb = 100
java.io.IOException: Job failed!
        at org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1232)
        at org.apache.nutch.crawl.Injector.inject(Injector.java:211)
        at org.apache.nutch.crawl.Crawl.main(Crawl.java:124)
        at lan.localhost.process.NutchCrawling.run(NutchCrawling.java:108)
        at lan.localhost.main.Index.indexing(Index.java:71)
        at lan.localhost.bean.FeedingBean.actionStart(FeedingBean.java:25)
        ....

может кто-нибудь помочь мне или сказать мне, как я могу сканировать из приложения Java? Я увеличил Xms до 256 м и Xmx до 768 м, но ничего не изменилось...

с наилучшими пожеланиями Марсель


person Marcel    schedule 17.05.2010    source источник
comment
Проверьте это мое хранилище: github.com/yegor256/nutch-in-java. делает то, что вы пытаетесь сделать, и это работает. Вы можете использовать его в качестве примера.   -  person yegor256    schedule 17.04.2019


Ответы (3)


Вам, вероятно, придется добавить файлы конфигурации nutch в свой путь к классам. Обычно он устанавливается через переменную окружения NUTCH_CONF_DIR при вызове скрипта bin/nutch.

Существует также -Dhadoop.log.dir, который может потребоваться установить.

Потратьте время, чтобы проверить скрипт bin/nutch, чтобы узнать о них больше.

person Pascal Dimassimo    schedule 17.05.2010

Вы можете разветвить новый процесс и запустить скрипт bin/nutch.

person Mike Baranczak    schedule 13.06.2010

Задание внедрения не удалось по какой-то причине, которую нельзя диагностировать с помощью предоставленных sysouts. Потребуются дополнительные журналы.

person Tejas Patil    schedule 08.04.2012