生产环境k8s重启,一直报错 Storage Error: part: 57, error code: -3.

  • nebula 版本:v2-nightly
  • 部署方式(分布式 / 单机 / Docker / DBaaS):Docker
  • 是否为线上版本:Y

docker版本,由于当时新版有问题,固定成指定版本

image:
  graphd:
    repository: vesoft/nebula-graphd
    tag: v2-nightly #745ee6fac97f
    pullPolicy: IfNotPresent
  metad:
    repository: vesoft/nebula-metad
    tag: v2-nightly #65f7cae029a2
    pullPolicy: IfNotPresent
  storaged:
    repository: vesoft/nebula-storaged
    tag: v2-nightly #5f089ee01e71
    pullPolicy: IfNotPresent

你好,请问你是用什么工具部署的,在storaged报错前有做什么操作吗

是自己维护的helm构建的,报错前做了重启的操作,然后起来后过段时间又会重启

E0812 11:59:24.682616 53 MetaClient.cpp:583] Send request to [nebula-metad-app-v1-0.nebula-metad-app-v1.nebula.svc.cluster.local:9559], exceed retry limit
E0812 11:59:24.682690 1 MetaClient.cpp:62] Heartbeat failed, status:RPC failure in MetaClient: N6apache6thrift9transport19TTransportExceptionE: Channel is !good()

查看一下storaged的配置,看–meta_server_addrs是否配的是正确的metad地址

地址是正确的

确认一下metad和storaged的网络是否连通,看日志是storaged无法连接到metad导致的异常。你也可以更新镜像为某个稳定版再做测试,比如v2.0.1,v2-nigtly的镜像是一直在变动的

网络是联通的,docker镜像版本是固定的,把数据删除重新建立是正常的,有旧数据不正常

image:
  graphd:
    repository: vesoft/nebula-graphd
    tag: v2-nightly #745ee6fac97f
    pullPolicy: IfNotPresent
  metad:
    repository: vesoft/nebula-metad
    tag: v2-nightly #65f7cae029a2
    pullPolicy: IfNotPresent
  storaged:
    repository: vesoft/nebula-storaged
    tag: v2-nightly #5f089ee01e71
    pullPolicy: IfNotPresent

好的,我用新版本的镜像尝试复现一下。你也可以使用我们的nebula-operator在k8s上进行管理nebula集群

2 个赞

我用operator部署了一套v2.0.1的nebula集群,并模拟了有数据情况下,k8s重启的情况,没有复现出问题。你可以再排查一下metad和storaged的连接是否有问题,或者直接使用我们的operator

好,我们再研究一下

此话题已在最后回复的 30 天后被自动关闭。不再允许新回复。