gpt4 book ai didi

java - Apache SOLR 3.5 索引时挂起

转载 作者:行者123 更新时间:2023-12-02 07:53:08 26 4
gpt4 key购买 nike

我正在尝试为一个大约有 150 万个节点的 drupal 站点建立索引。大多是简单节点,大约 100k 个节点尺寸较大(用 tika 处理的 pdf 文档)。

我现在已经多次尝试建立索引,但总是以同样的方式失败:在建立索引几天后,SOLR 因高负载和内存使用而崩溃/挂起(本身不寻找最大吞吐量)。首先,我将安装移动到一个更大的盒子,从 2 cpu/2GB 内存到 8 核 16GB 内存。这暂时解决了问题,但现在情况几乎相同。我能够索引大约 500k 个节点。

Java 使用的内存远多于堆大小(当前为 8000M)(大量交换)负载约为3.0(对于小盒子和大盒子)Solr 没有响应索引。搜索速度很慢但可能。管理界面 react 灵敏

重新启动 SOLR 可以暂时解决问题,但它总是会再次出现。

在崩溃期间查询索引大小时,我注意到目录大小波动很大。启动 SOLR 后,目录大小约为 6.5 GB,并一直上升到 13 GB,然后再次下降到 6.5 GB。这种情况不断重复。

我添加了用于注销内存错误的说明,但这并没有为我提供任何日志。

我正在使用 drupal 6 的标准 SOLR 配置。我使用了不同的合并因子,但这似乎对解决问题没有任何帮助。

有人有想法吗?如果您需要更多信息,我会尽快回复!

这是我目前的日志中:线程“Lucene Merge Thread #0”中的异常 org.apache.lucene.index.MergePolicy$MergeException: java.io.FileNotFoundException:/usr/local/solr35/example/multicore/mydivp/data/index/_1bm.fnm (否此类文件或目录) 在 org.apache.lucene.index.ConcurrentMergeScheduler.handleMergeException(ConcurrentMergeScheduler.java:517) 在 org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:482)引起:java.io.FileNotFoundException:/usr/local/solr35/example/multicore/mydivp/data/index/_1bm.fnm(没有这样的文件或目录) 在 java.io.RandomAccessFile.open( native 方法) 在 java.io.RandomAccessFile.(RandomAccessFile.java:233) 在 org.apache.lucene.store.MMapDirectory.openInput(MMapDirectory.java:214) 在 org.apache.lucene.store.FSDirectory.openInput(FSDirectory.java:345) 在 org.apache.lucene.index.FieldInfos.(FieldInfos.java:74) 在 org.apache.lucene.index.SegmentCoreReaders.(SegmentCoreReaders.java:73) 在 org.apache.lucene.index.SegmentReader.get(SegmentReader.java:115) 在 org.apache.lucene.index.IndexWriter$ReaderPool.get(IndexWriter.java:705) 在 org.apache.lucene.index.IndexWriter.mergeMiddle(IndexWriter.java:4400) 在 org.apache.lucene.index.IndexWriter.merge(IndexWriter.java:3940) 在org.apache.lucene.index.ConcurrentMergeScheduler.doMerge(ConcurrentMergeScheduler.java:388) 在 org.apache.lucene.index.ConcurrentMergeScheduler$MergeThread.run(ConcurrentMergeScheduler.java:456)2012-04-03 14:26:25.409:INFO::关闭 Hook 完成

亲切的问候,布拉姆·荣根

更新2012-04-06

它仍然不起作用..检查我的 data/index/目录显示 Solr 不断重建/合并..构建了一个段,一旦完成,前一个段就会被删除,Solr 会再次启动,即使没有新文档也是如此添加。另一个奇怪的事情是 .fdt 文件没有增长,即使 Solr 状态表明大约有 300k 多的文档被索引。目录中最大的 .fdt 文件永远不会大于 4.9GB。

有什么想法吗?

最佳答案

各位,

我已将 MergePolicy 更改为 LogByteSizeMergePolicy,将 MergeScheduler 更改为 ConcurrentMergeScheduler,这似乎解决了问题。仍然不完全确定发生了什么,但我们已经恢复并运行;)

谢谢!

关于java - Apache SOLR 3.5 索引时挂起,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9993633/

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