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