lucene在NFS的环境中搜索导致JVM崩溃

发布于 2021-12-04 23:46:46 字数 1659 浏览 766 评论 11

我们使用了3台服务器部署了tomcat,使用阿里云的SLB做了负载均衡。

至于索引的构建,添加另外使用了一台JOB服务器,定时向挂载的NFS盘commit,这里用的也是阿里云NAS服务,以NFS协议挂载。3台应用服务器以只读模式挂载NFS磁盘,用于响应搜索请求。配置看上去已经完成了,只需要根据特性在代码上做些调整。

  1. 我使用了lucene提供的搜索器管理类(SearcherManager)用于近时搜索,定期调用SearcherManager.maybeRefresh()方法检测索引的更新状态尝试获取更新后的IndexReader。在没有使用NFS的服务之前,服务状态一直良好。
  2. 由于NFS服务本身的限制,文件删除状态不能够被挂载机器及时的检测到,lucene官方文档建议在这种环境下使用自定义索引删除策略(IndexDeletionPolicy)来确保服务能够正常进行。
  3. 于是,我自定义了索引删除策略(IndexDeletionPolicy)在lucene初始化的时候进行配置(IndexWriterConfig),确保索引删除(IndexComment.delete())的时间和检测刷新尝试获取新读取器的过程(SearcherManager.maybeRefresh())不可能重叠。
  4. 部署运行之后,能够发现,调用SearcherManager.maybeRefresh()方法的过程中,segment文件FileNotFoundException异常已经不再出现,说明产生的效果,但原本的关键问题并没有解决。

此异常直接导致jvm崩溃

@红薯 老大,osc现在luceue搜索仍然使用的是NFS做的索引共享么?希望能够给我些建议。刚才看到几年前的帖:
https://www.oschina.net/question/12_2137731
这两天我们的几台tomcat也是CPU跑高,也让我不得不怀疑是NFS的锅,因为相同的环境,没有挂载NFS的服务器一直没有任何异常。

连续几天半夜被报警短信催起床启动已经崩溃的服务,真是折磨!

希望有经验的朋友能够为小弟提供些建议,感激不尽!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(11

成熟稳重的好男人 2021-12-10 02:52:00

引用来自“刘少”的评论

我用rsync进行索引文件的分发,当commit完成后,再进行分发, 你这种状况的话,建议: 

job服务器写索引到本地目录, commit后,拷贝到nfs的目录,避免中间状态, 其他没有特殊.

如日中天 2021-12-10 02:51:59

我用rsync进行索引文件的分发,当commit完成后,再进行分发, 你这种状况的话,建议: 

job服务器写索引到本地目录, commit后,拷贝到nfs的目录,避免中间状态, 其他没有特殊.

不再见 2021-12-10 02:51:30

用tomcat demo方式启动 挂不了

复古式 2021-12-10 02:47:16

未找到具体原因之前,为了避免半夜起床,可以定时轮流重启三个tomcat.....

霞映澄塘 2021-12-10 02:39:41

job试试能不能samba挂载。或iscsi映射

混吃等死 2021-12-10 02:11:48

我们放nfs毫无压力,你读得很厉害吗

回忆凄美了谁 2021-12-10 00:12:00

引用来自“红薯”的评论

这个错误应该还是在操作索引时被中断吧,索引的写改删都应该在独立进城,最好不要放tomcat

成熟稳重的好男人 2021-12-10 00:01:11

这个错误应该还是在操作索引时被中断吧,索引的写改删都应该在独立进城,最好不要放tomcat

无人问我粥可暖 2021-12-09 23:12:15

引用来自“红薯”的评论

读取的问题不大啊,写的话只能有一个,不会有什么问题啊

清晨说ぺ晚安 2021-12-08 10:48:05

引用来自“红薯”的评论

读取的问题不大啊,写的话只能有一个,不会有什么问题啊

想挽留 2021-12-05 10:15:08

读取的问题不大啊,写的话只能有一个,不会有什么问题啊

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文