【发布时间】:2010-05-17 09:12:22
【问题描述】:
我正在尝试在我的 (java) mojarra 2.0.2 webapp 中使用不带 bin/nutch 的 nutch (1.1) ...我正在谷歌搜索示例,但没有示例如何实现这一点:/。 ..我得到一个异常并且工作失败了:/(我想到了hadoop的原因)......这是我的代码:
公共无效运行()抛出异常{ 最终字符串 [] args = 新字符串 [] { 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:使用 processName=JobTracker、sessionId= 初始化 JVM 指标 10/05/17 10:42:54 WARN mapred.JobClient:使用 GenericOptionsParser 解析参数。应用程序应该实现同样的工具。 10/05/17 10:42:54 INFO mapred.FileInputFormat:要处理的总输入路径:1 2017 年 10 月 5 日 10:42:54 信息 mapred.JobClient:正在运行的作业:job_local_0001 10/05/17 10:42:54 INFO mapred.FileInputFormat:要处理的总输入路径:1 2017 年 10 月 5 日 10:42:55 信息 mapred.MapTask:numReduceTasks:1 2017 年 10 月 5 日 10:42:55 信息 mapred.MapTask:io.sort.mb = 100 java.io.IOException:作业失败! 在 org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:1232) 在 org.apache.nutch.crawl.Injector.inject(Injector.java:211) 在 org.apache.nutch.crawl.Crawl.main(Crawl.java:124) 在 lan.localhost.process.NutchCrawling.run(NutchCrawling.java:108) 在 lan.localhost.main.Index.indexing(Index.java:71) 在 lan.localhost.bean.FeedingBean.actionStart(FeedingBean.java:25) ……有人可以帮助我或告诉我如何从 Java 应用程序中爬取吗?我已将 Xms 增加到 256m,Xmx 增加到 768m,但没有任何改变...
最好的问候马塞尔
【问题讨论】:
-
检查我的这个 repo:github.com/yegor256/nutch-in-java 它做你想做的事情并且它有效。你可以用它来做例子。
标签: web-applications nutch web-crawler