nutch生成期间的运行时异常

时间:2016-02-16 16:07:15

标签: nutch runtimeexception gora

我正在尝试第一次运行nutch并执行

/ bin / nutch generate -t​​opN 5

我得到以下异常:

GeneratorJob: starting at 2016-02-13 21:01:42
GeneratorJob: Selecting best-scoring urls due for fetch.
GeneratorJob: starting
GeneratorJob: filtering: true
GeneratorJob: normalizing: true
GeneratorJob: topN: 5
GeneratorJob: java.lang.RuntimeException: job failed: name=apache-nutch-    2.3.1.jar, jobid=job_local1061440919_0001
at org.apache.nutch.util.NutchJob.waitForCompletion(NutchJob.java:120)
at org.apache.nutch.crawl.GeneratorJob.run(GeneratorJob.java:227)
at org.apache.nutch.crawl.GeneratorJob.generate(GeneratorJob.java:256)
at org.apache.nutch.crawl.GeneratorJob.run(GeneratorJob.java:322)
at org.apache.hadoop.util.ToolRunner.run(ToolRunner.java:70)
at org.apache.nutch.crawl.GeneratorJob.main(GeneratorJob.java:330)

这是来自hadoop.log的堆栈跟踪:

2016-02-13 21:01:44,541 ERROR mapreduce.GoraRecordReader - Error reading Gora records: null
2016-02-13 21:01:44,557 WARN  mapred.LocalJobRunner - job_local1061440919_0001
java.lang.Exception: java.lang.RuntimeException:   java.util.NoSuchElementException
    at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:462)
    at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:522)
Caused by: java.lang.RuntimeException: java.util.NoSuchElementException
    at org.apache.gora.mapreduce.GoraRecordReader.nextKeyValue(GoraRecordReader.java:122)
    at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.nextKeyValue(MapTask.java:533)
    at org.apache.hadoop.mapreduce.task.MapContextImpl.nextKeyValue(MapContextImpl.java:80)
    at org.apache.hadoop.mapreduce.lib.map.WrappedMapper$Context.nextKeyValue(WrappedMapper.java:91)
    at org.apache.hadoop.mapreduce.Mapper.run(Mapper.java:144)
    at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:764)
    at org.apache.hadoop.mapred.MapTask.run(MapTask.java:340)
    at org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:243)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
Caused by: java.util.NoSuchElementException
    at java.util.concurrent.ConcurrentSkipListMap.firstKey(ConcurrentSkipListMap.java:2036)
    at org.apache.gora.memory.store.MemStore.execute(MemStore.java:128)
    at org.apache.gora.query.impl.QueryBase.execute(QueryBase.java:73)
    at org.apache.gora.mapreduce.GoraRecordReader.executeQuery(GoraRecordReader.java:67)
    at org.apache.gora.mapreduce.GoraRecordReader.nextKeyValue(GoraRecordReader.java:109)
    ... 12 more

我一直在关注这里的教程:https://github.com/renepickhardt/metalcon/wiki/simpleNutchSolrSetup用于设置nutch。

我在stackoverflow和nutch档案上看到了一些有类似例外的帖子,他们建议我的/ tmp目录中的磁盘空间不足,但/ tmp目录只有大约8MB的值数据就可以了。 除此之外,我对导致此异常的原因一无所知

这种例外可能是什么原因?

我正在使用Nutch 2.3.1和HBase 1.1.3作为数据存储区,我在Ubuntu 15.10上运行它

由于

2 个答案:

答案 0 :(得分:2)

查看hadoop的日志,我认为你使用的是MemStore,而不是HBaseStore。你配置了gora.properties吗?

从我的评论中复制:)

答案 1 :(得分:0)

1)您必须配置gora.properties,

2)无论你拥有Gora(Mongo,HBase,Cassandra等)背后的任何东西都没有响应,所以nutch需要“waitForCompletion”,所以要确保它已经启动并运行。

确保使用kill -9和旧的java nutch进程杀死旧的已解散进程,并在无法找到它们时重新启动(希望它不会出现这种情况。

相关问题