session满了,集群不能恢复

  • nebula 版本:operator version:master ,nebula version:3.4.0
  • 部署方式:单机(graphd 1,metad 1 ,storaged 1)
  • 安装方式: Docker
    场景是性能测试时出现异常,session不能释放,使用nebula-console能够查看到session。删除graphd的pod重启不能恢复,一直crash。




    想问一下,这种session满了的情况下要怎么恢复集群,重启grapd不行吗?。后续为了避免这种情况,设置session的最大超时时间是否就可以了,设置完超时时间,假设该时间内,session满了,能否自动恢复?

https://docs.nebula-graph.com.cn/3.4.1/3.ngql-guide/17.query-tuning-statements/2.kill-session/

你看看这个?

防范于未然,你可以把 session 空闲时间 session_idle_timeout_secs 设置下,参考这个 https://docs.nebula-graph.com.cn/3.4.1/5.configurations-and-logs/1.configurations/3.graph-config/#networking

嗯,这个我看了。之前出现这个情况是可以kill掉所有session的,但是这一次这个异常,已经无法kill掉了,你看下图二,我执行命令之后kill掉的session数是0.。重启graphd之前,我退出了console再也连不进去了,报错是无法创建session了,这种我不知道该怎么去清理session,让他恢复了。而且现在我把metad和graphd的pod都重启了,但是graphd就一直无法运行,报错日志在上面心跳检测失败,unknown,我现在想恢复这个集群,有什么办法吗。
image


我把3个服务都重启了,metad的报错日志是这个,能不能看下是什么问题?。storaged也不能起来,报错也是心跳检测失败。感觉像是metad出问题了?

image
看上去应该是session满了导致的问题,但是我实际这个值设置的1000,还有别的参数设置session数吗?我的参数不对?这个问题麻烦看一下了,就是跑性能测试的时候突然出现的

graph跟storage都起不来,应该是meta有问题,根据你的日志截图在排查了

你在metad config配置里添加上 “v”: “3”,再发些日志上来看看

config:
   "v": "3"
1 个赞

这个问题应该是磁盘满了,没空间了导致的,之前备份了一下数据目录,几百g了…删掉了备份的清理了下正常了。这个磁盘空间不够,nebula没有日志打印吗?我看了三个服务的日志好像都没看到?

默认的日志级别应该没输出,你可以对比下0跟3的输出差异