bin / nutch elasticindex< $ cluser>的OutOfMemoryError -all(Nutch 2.1)

时间:2013-05-24 07:38:34

标签: elasticsearch nutch

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

我发出命令:

bin/nutch elasticindex <$cluser> -all

它等了很长时间然后又出现了错误: 线程“main”java.lang.RuntimeException中的异常:作业失败:name = elastic-index [ocpnutch],jobid = job_local_0001

如果我查看日志:

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

我看到几个这样的错误:

  

在netty层上捕获异常[[id:0x569764bd,/192.168.17.39:52554   =&GT; /192.168.17.60:9300]] java.lang.OutOfMemoryError:Java堆空间

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

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

jvm是: Java(TM)SE运行时环境(版本1.7.0_21-b11)

有没有人知道我做错了什么 - 其他哪些诊断信息对解决这个问题有帮助?

2 个答案:

答案 0 :(得分:1)

我有完全相同的问题。我使用elasticsearch 0.90.2。 我找到了一个解决方案:使用elasticsearch 0.19.4它可以工作!

答案 1 :(得分:1)

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

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

在第104行的文件ElasticWriter.java中声明:

if (item.failed())

必须改为:

if (item.isFailed())

然后它对我有用。