Nutch segments disk space 需求增长很快

Nutch segments disk space requirements grow fast

我正在 运行安装 Nutch(1.16)/Solr(8.5.1) 爬行索引系统。我使用大约 26000 个 URL 作为种子列表,到目前为止已经用 ./bin/crawl -i -s ./urls data 500 索引了约 100 万页。今天早上,segments 文件夹已增长到 120GB,这对于一百万页来说似乎很大。我读到 here 1TB per 100 Million pages is a rough space guidance so I am running at 10 times that for segments alone. I also read here 我可以删除这些段,如果它们已经合并到 Solr 中并且只需要 long 运行 中的 linkdb 和 crawdb。但遗憾的是,导致该结论的对话丢失了。

我删除了 segments 文件夹并再次启动该过程以获得干净的数字,没有来自测试运行s 的残留物。在向 Solr 索引添加另外 250.000 页后,segments 文件夹再次增长到 40GB。

所以我的问题:

  1. 当迭代合并到 Solr 时,我通常可以删除段文件吗
  2. 为什么没有自动删除。按照目前的情况,我需要每隔几天清空该文件夹。
  3. 有什么方法可以防止段增长过快,或者更好的一些设置在 Solr 中建立索引后自动删除段。
  4. 我的细分市场增长如此之快,这似乎是我在做一些根本性的错误吗?

如有必要,我可以提供配置文件,但我 运行 几乎是原始配置。我将 fetcher 线程增加到 25,将可用 RAM 增加到 24GB。

  1. Can I generally delete segments files when an iteration was merged into Solr

可以,如果您不想将该区段用于其他目的。

  1. Why are they not deleted automatically.

bin/crawl 是一个 shell 脚本,很容易根据您的需要进行调整,只需将命令 rm -rf "$CRAWL_PATH"/segments/$SEGMENT 添加到循环中即可。但您也可以删除昨天的片段(片段名称是时间戳)。有时,如果出现问题,您需要检查该段以找出问题所在。

  1. Is there some way to prevent the segments from growing so fast

如果您不需要抓取页面的原始内容(HTML 还有 PDF 等),可以在提取步骤中解析文档。这通常会更快并且在段中保存 space,因为只存储解析的文本和元数据。这是通过以下方式配置的:

  • 将 属性 fetcher.parse 设置为真,
  • fetcher.store.content 为假并且
  • 删除(注释掉)脚本中的解析步骤 bin/crawl

Apache Nutch 更像是一个构建爬虫的工具箱,因此没有单一的使用方法。但始终欢迎错误报告和建议。