用Nutch抓取的时候,问题遇到:
WARN crawl.Generator: Generator: 0 records selected for fetching, exiting ...
INFO crawl.Crawl: Stopping at depth=1 - no more URLs to fetch.
可能问题有:
1. Filter 过滤的问题,看正则写的对不对。
2. 配置:
3. 时间延迟generate.restrict.status 状态过滤
generate.min.score 得分过滤
generate.min.interval 最小延迟过滤
LongWritable oldGenTime = (LongWritable) crawlDatum.getMetaData().get(
Nutch.WRITABLE_GENERATE_TIME_KEY);
if (oldGenTime != null) { // awaiting fetch & update
if (oldGenTime.get() + genDelay > curTime) // still wait for
// update
return;
}
genDelay 是 crawl.gen.delay 的配置,默认是 7 天,Nutch -1.5 这个计算 有点bug。不过这一项起的作用不大,update 的时候,
Nutch.WRITABLE_GENERATE_TIME_KEY 会清空。
另一个主要的原因,找了好久,Namenode 的时间,和Datanode 的时间不同步,如果Datanode的时间比Namenode时间快,上面的if判断就为true。所以可以将 Namenode时间调的比Datanode时间稍快一点,最好可以同步一样的。