小编典典

使用Nuch REST API的Nutch弹性索引器中的未知问题

elasticsearch

我试图使用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失败。

任何帮助,将不胜感激。

PS:使用堆栈跟踪进行调试后,我认为问题是由于番石榴版本不匹配所致。我试过更改插件的build.xml(parse-tika和parsefilter-
naivebayes),但是没有用。


阅读 329

收藏
2020-06-22

共1个答案

小编典典

我已经找到解决此问题的方法。这是由于番石榴相关性的版本兼容性。Hadoop使用guava-11.0.2.jar作为依赖项。但是nutnut中的elastic
indexer插件需要18.0版的番石榴。这就是为什么它试图在分布式hadoop中运行时引发异常的原因。所以我们只需要在hadoop库中将番石榴版本更新为18.0(可以在
$ HADOOP_HOME / share / hadoop / common / libs /中找到 )。

2020-06-22