gpt4 book ai didi

Apache Nutch 2.3.1 检查点不起作用

转载 作者:可可西里 更新时间:2023-11-01 14:32:36 24 4
gpt4 key购买 nike

我已经为 apache Nutch 2.3.1 配置了单节点集群(Hadoop 2.7.x 和 hbase 1.2.6)。我必须检查它的检查点功能。根据我的信息,resuming在Fetch and parse中是可用的。我假设在获取(或解析)期间的任何阶段,我的整个集群由于某些问题而崩溃,例如电源(检测)失败。我假设当我使用 -resume 标志重新启动集群和爬虫时,它应该开始只获取那些未获取的 URL。

但我观察到的是(启用调试)它开始重新获取所有 URL(具有相同的 batchID)直到结束,即使有恢复标志。恢复标志仅在作业(例如获取)完全完成时才有效。我已经从它的日志中使用类似 "Skipping express.pk; already fetched" 的消息对其进行了交叉检查。

我对 Nutch 中的 resume 选项的解释不正确吗?

或者集群/配置有问题?

最佳答案

您的解释是正确的。此外,在这种情况下,Nutch(日志)的输出也是正确的。

如果您检查 https://github.com/apache/nutch/blob/release-2.3.1/src/java/org/apache/nutch/fetcher/FetcherJob.java#L119-L124 上的代码, Nutch 只记录跳过该 URL 的日志,因为它已经被获取。由于 Nutch 是批量工作的,因此需要检查同一 batchId 上的所有 URL,但是如果您指定了恢复标志,那么(仅在 DEBUG 上)将记录它正在跳过某些 URL。这样做主要是为了在遇到问题时进行故障排除。

发生这种情况 Nutch 不会保留最后处理的 URL 的记录,它需要从同一批处理的开头开始,然后从那里开始工作。即使知道最后一个 URL 也是不够的,因为您还需要该 URL 在批处理中的位置。

关于Apache Nutch 2.3.1 检查点不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48401763/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com