snapshot恢复数据失败

您是 1 个 meta? 然后改完参数之后重启过是吗?

三台机器都启动了meta服务,但是只有leader节点的meta.INFO才会有log日志的更新,其他两台机器的meta.INFO不会一直更新

看起来像是从 一个叫 machineTable 的表里面, 又把那三个机器加回去了.

machineTable?可以操作这个table吗,把一些hosts删除掉

哦, 内部的表, 应该不好弄. 下个版本应该会修这个.

好吧 :joy:

开个 issue 跟踪下, https://github.com/vesoft-inc/nebula/issues/4120

我看了一遍相关代码,如果你运行过 “http接口把原来机器ip换成新的机器ip ” 的话,按说是不应该出现删不掉的情况的。所以确实是运行了是么?

确定运行了。
我是启动新集群的meta和graph服务后,启动了studio服务查看nebula的hosts状态(看到的是旧集群集群);
换了ip之后,启动storage服务,然后使用add hosts添加新集群集群的ip,通过studio看到的就是新集群的机器是online,旧集群机器是offline的

可以通过 metadump 来输出下现在 meta 的信息吗?用法:

./meta_dump --path=${META_PATH}/nebula/0/data

meta_dump 在每个 bin 目录下应该有。

Zone Info


hosts info

我这里的studio中间介入会产生影响么
@spw

谢谢啦。需要我做什么么

不用, 因为后续的 fix pr 就只会跟那个 issue 关联, 这里只是贴一下. 如果您还持续关注这个问题, 可以关注下那个 issue. 当然我们也还没 debug 完, 正在参悟, 嘿嘿

你可以:

  1. 把 metadump 的 partition 表也贴上来。
  2. 试试再 replace 一遍,然后把日志贴上来看看~ 怀疑是 partition replace 成功了,zone 没有成功。

对,partition是成功了


除了zone info, host info中也包含旧集群的ip

第二次repalce会失败:can’t get space prefix=spaces

10.142.36.2 这个 ip 是现在的 meta leader 吗?

是的

partition我理解,这里的zone是个什么概念呢