我一直按照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)
有没有人知道我做错了什么 - 其他哪些诊断信息对解决这个问题有帮助?
答案 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())
然后它对我有用。