1

Open Search Server 在爬取文件时崩溃。OSS 在 Ubuntu 机器上作为守护进程运行。这是一个具有 64gb 内存和 12 个内核的生产服务器,在它安装的一个极快的 nas 上爬取文件,大约 20gb 的文件。为 OSS 分配 2GB 内存。应抓取的最大文件约为 1.3gb。有 5 个超过 1gb 的 mp4 文件。

通常在爬取过程中的某个时刻,OSS 会完全没有响应。重启 OSS 即可解决问题。今天我监控了一次爬取,通常一次使用一个或两个核心。当它崩溃时,它正在最大化所有 12 个内核。服务器上的总内存使用量很好,但我不确定 OSS 使用了多少。

我们查看了 oss 日志文件,每次崩溃之前都没有发生一个错误,但是日志中有两个非常常见的错误:

警告:org.apache.cxf.jaxrs.utils.JAXRSUtils - com.jaeksoft.searchlib.webservice.crawler.database.DatabaseImpl#run 和 com.jaeksoft.searchlib.webservice.crawler.database.DatabaseImpl#run 都是处理可能导致不可预知结果的当前请求

警告:root - 内存不足的情况:刷新爬网缓冲区

我们有一个处理所有文件的索引。它基于文件爬虫模板——唯一的变化是:

  1. 使用 4 个正则表达式替换的额外分析器。
  2. 一个额外的字段,用于复制 url 字段并使用来自的分析器
  3. 我们添加了一个磁盘位置,其中包含所有文件。
  4. 我们在查询中加入另一个索引。

当我们能够抓取时,之后查询索引就可以正常工作了。我认为只有在爬网期间索引上有搜索查询时才会发生崩溃,但尚未能够确认。

4

0 回答 0