我正在尝试使用我的 (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,但没有任何改变......
最好的问候马塞尔