neo4j创建lucene索引hang住,进程崩溃

在测试环境中,图库在新建Lucene索引时出现卡死问题,重启和修改配置无效。通过对比服务器环境、检查资源占用、在其他服务器上复现问题,确定问题与NFS挂载有关。当尝试创建索引时,由于NFS挂载异常,导致进程卡住。进一步排查发现df-h命令也卡在相同路径,经OP协助umount挂载点后,问题解决。问题根源在于NFS挂载损坏,影响图库创建索引功能。
摘要由CSDN通过智能技术生成

背景:
在一次测试环境图库新增节点属性的需求后,再重启图库,其他操作都正常运行,但是在新建lucene索引时,图库卡住,在前端页面尝试,页面一直在转圈,在shell端执行直接卡住不动,此时通过neo4j stop命令已经无法停止图库,只能强制杀死服务
解决步骤:

  1. 查看图库日志,并没有报错和异常信息,后重启图库,并重新导入数据,再新建lucene索引依旧不行
  2. 怀疑是图库配置的问题,后把测试环境的图库配置按照线上配置进行比对并修改,再重启图库,此问题依然存在,后将线上图库目录原封不动的scp到测试环境,重试以上步骤,仍没有解决问题
  3. 在重试的过程中,已经发现每次执行创建lucene索引时,其index文件一开始是有更新的,但是执行段时间后就会终止更新
  4. 查看图库内存和cpu占用情况,并没有发现异常,所以排出内存和cpu的问题
  5. 开始怀疑是该服务器的环境问题,为了验证是环境问题导致,在etl02安装了一个图库程序,并把测试环境的目录scp到etl02,经过上述步骤,最终新建lucene索引是可以成功的,故可以基本判定是该服务器的环境导致
  6. 开始比对该服务器和线上服务器的环境,除了jdk有小版本的变动,其他没有发现异常,为了保持变量的一致性,还是更换了测试环境的jdk,但是最终问题还是没有解决
  7. 为了不影响依赖测试环境图库的程序,向op申请了一台测试环境的服务器,并在上面安装了两个图库服务,后导入数据并重启,此时新建lucene索引是可以成功的
  8. 后发现在客户端shell执行建lucene索引命令(数据量小是可以成功的),客户端shell卡死,无法退出,只能通过强制重启服务解决问题
    然后复现该问题,查看进程的堆栈信息,如下
    在这里插入图片描述
    很明显进程被卡住
  9. 后通过该日志信息查阅资料,发现了类似的问题,考虑可能是挂载的NFS异常导致
    在这里插入图片描述
    详情见:https://jira.atlassian.com/browse/JRASERVER-72195
  10. 查看磁盘信息,df -h,发现也被卡住, 故查看是在哪里卡住了strace df -h
  11. 找到卡住的路径,项OP同学询问,让其帮忙将该挂载umount,df -h卡住问题解决
  12. 再重新重启图库,新建lucene索引成功,问题解决
    问题原因:
    在创建lucene索引时,会遍历所有挂载的NFS以检查其属性,如果Linux 服务器中的 NFS 挂载损坏(陈旧、挂起或无法访问),那么任何与 Lucene 索引相关的功能都可能因此而中断,所以OP 同学在重构50所在服务器环境的时候导致图库所在服务器挂载的远程文件不存在了,因此在创建索引才会卡住,df -h卡住也是这个问题
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值