我试图使用REST端点公开问题,并在索引器阶段遇到问题。我正在使用Elasticsearch索引编写器将文档索引到ES。我已经使用了$ NUTCH_HOME / runtime / deploy / bin / nutch startserver命令。编制索引时会引发未知异常。
错误:com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava / util / concurrent / Executor; 16/10/07 16:01:47 INFO mapreduce.Job:映射100%减少0%16/10/07 16:01:49 INFO mapreduce.Job:任务ID:try_1475748314769_0107_r_000000_1,状态:FAILED错误:com.google。 common.util.concurrent.MoreExecutors.directExecutor()Ljava / util / concurrent / Executor; 16/10/07 16:01:53 INFO mapreduce。工作:任务ID:try_1475748314769_0107_r_000000_2,状态:FAILED错误:com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava / util / concurrent / Executor; 16/10/07 16:01:58 INFO mapreduce.Job:映射100%减少100%16/10/07 16:01:59 INFO mapreduce.Job:作业job_1475748314769_0107因状态失败而失败,原因是:任务失败task_1475748314769_0107_r_000000作业失败由于任务失败。failedMaps:0 failedReduces:1 错误indexer.IndexingJob:索引器:java.io.IOException:作业失败!在org.apache.nutch.indexer.IndexingJob.index(IndexingJob.java:145)的org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:865)处在org.apache.nutch.indexer.IndexingJob.run (IndexingJob.java:228)位于org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)位于org.apache.nutch.indexer.IndexingJob.main(IndexingJob.java:237) 退出代码255失败。
错误:com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava / util / concurrent / Executor; 16/10/07 16:01:47 INFO mapreduce.Job:映射100%减少0%16/10/07 16:01:49 INFO mapreduce.Job:任务ID:try_1475748314769_0107_r_000000_1,状态:FAILED错误:com.google。 common.util.concurrent.MoreExecutors.directExecutor()Ljava / util / concurrent / Executor; 16/10/07 16:01:53 INFO mapreduce。工作:任务ID:try_1475748314769_0107_r_000000_2,状态:FAILED错误:com.google.common.util.concurrent.MoreExecutors.directExecutor()Ljava / util / concurrent / Executor; 16/10/07 16:01:58 INFO mapreduce.Job:映射100%减少100%16/10/07 16:01:59 INFO mapreduce.Job:作业job_1475748314769_0107因状态失败而失败,原因是:任务失败task_1475748314769_0107_r_000000作业失败由于任务失败。failedMaps:0 failedReduces:1
错误indexer.IndexingJob:索引器:java.io.IOException:作业失败!在org.apache.nutch.indexer.IndexingJob.index(IndexingJob.java:145)的org.apache.hadoop.mapred.JobClient.runJob(JobClient.java:865)处在org.apache.nutch.indexer.IndexingJob.run (IndexingJob.java:228)位于org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)位于org.apache.nutch.indexer.IndexingJob.main(IndexingJob.java:237)
退出代码255失败。
任何帮助,将不胜感激。
PS:使用堆栈跟踪进行调试后,我认为问题是由于番石榴版本不匹配所致。我试过更改插件的build.xml(parse-tika和parsefilter- naivebayes),但是没有用。
我已经找到解决此问题的方法。这是由于番石榴相关性的版本兼容性。Hadoop使用guava-11.0.2.jar作为依赖项。但是nutnut中的elastic indexer插件需要18.0版的番石榴。这就是为什么它试图在分布式hadoop中运行时引发异常的原因。所以我们只需要在hadoop库中将番石榴版本更新为18.0(可以在 $ HADOOP_HOME / share / hadoop / common / libs /中找到 )。