0

我一直在按照http://wiki.apache.org/nutch/Nutch2Tutorial上的说明进行操作,以查看是否可以使用 ElasticSearch 运行 nutch 安装。我已经成功地完成了一次没有真正问题的爬网,但是当我尝试将结果加载到 elasticsearch 中时,我遇到了麻烦。

我发出命令:

bin/nutch elasticindex <$cluser> -all

它等待了很长时间,然后返回错误:线程“main”中的异常 java.lang.RuntimeException: job failed: name=elastic-index [ocpnutch], jobid=job_local_0001

如果我查看日志:

~/apache-nutch-2.1/runtime/local/logs/hadoop.log

我看到几个这样的错误:

网络层捕获的异常 [[id: 0x569764bd, /192.168.17.39:52554 => /192.168.17.60:9300]] java.lang.OutOfMemoryError: Java heap space

弹性搜索的日志中没有任何内容。

我尝试将: elastic.max.bulk.docs 和 elastic.max.bulk.size 更改为小尺寸并将大量 GB 分配给 nutch,但无济于事。

jvm 是:Java(TM) SE Runtime Environment (build 1.7.0_21-b11)

有谁知道我做错了什么 - 还有哪些其他诊断信息有助于解决这个问题?

4

2 回答 2

1

我遇到了由不兼容的 HBase 版本和弹性搜索引起的类似问题。使用 Hbase 版本 0.90.4 和 Elastic Search 版本 0.90.9 对我有用。

我在配置中做了一些更改。在 ~/apache-nutch-2.2.1/ivy/ivy.xml 中,elasticsearch 的依赖版本必须设置为 0.90.9

在文件 ElasticWriter.java 第 104 行的语句中:

if (item.failed())

必须改为:

if (item.isFailed())

然后它对我有用。

于 2014-03-30T11:38:04.997 回答
1

我也有完全一样的问题。我使用弹性搜索 0.90.2。我找到了一个解决方案:使用 elasticsearch 0.19.4 它可以工作!

于 2013-07-05T13:03:36.127 回答