当前位置: 首页 > 面试题库 >

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

公西俊才
2023-03-14
问题内容

我试图使用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),但是没有用。


问题答案:

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



 类似资料:
  • 我试图使用RESTendpoint公开nutch,但在索引器阶段遇到了一个问题。我正在使用elasticsearch索引编写器将文档索引到ES。我使用了$nutch_home/runtime/deploy/bin/nutch startserver命令。在索引时引发未知异常。 错误indexer.indexingjob:indexer:java.io.ioException:作业失败!在org.a

  • 问题内容: 我一直在按照http://wiki.apache.org/nutch/Nutch2Tutorial上的说明进行操作,以查看是否可以通过ElasticSearch进行安装。我已经成功完成了爬网,没有任何实际问题,但是当我尝试将结果加载到elasticsearch中时,我遇到了麻烦。 我发出命令: 它等待了很长时间,然后返回一个错误:线程“ main” java.lang.RuntimeE

  • 我已经将弹性搜索1.7.1与spring应用程序集成在一起。我有一个cron作业,它在每次运行时更新弹性搜索的索引。我遵循了github上的各种示例代码来使其工作。首先,我为索引目的自动连接了ElasticSearchOperations: 然后以以下方式执行内部循环索引 当我第一次运行它时,它就像预期的那样工作。我已经在config文件夹中的elasticsearch.yml中将cluster重

  • 我试着遵循这里列出的Nutch+ES指南 https://gist.github.com/xrstf/b48a970098a8e76943b9 https://qbox.io/blog/scring-the-web-wit-nutch-for-elasticsearch 然而,我无法让他们的组合工作。基本上,我在Nutch上执行了以下命令: 现在,我想将获取的数据索引到ES中,我按照指南进行了操作

  • 我有一个用于elastic search的qbox实例(关于qbox elasticsearch的更多详细信息可以通过自定义tcp端口在http://qbox.io/找到)。当我试图通过nutch访问实例进行索引时,我得到以下错误:

  • 我在nutch elastic Indexera上运行测试运行。我想添加一些自定义字段和自定义类型名(而不是“doc”),它们可以作为索引作业的参数。我知道是负责设置字段名和元数据的类,但不知道nutch在哪里创建实例并设置值。或者还有别的办法。请帮忙