meta服务高可用有问题

我在做高可用测试,3台metad找到了leader后,我kill -9了leader的metad后,很快会重新选举出新的metad leader,这时集群恢复正常,但是几分钟后,metad服务就会异常,那台宕机的metad我是没有重启恢复的。
image
metad的报错是这样的:
image

我测试了很多次,感觉是一个稳定出现的现象,但是如果我把宕机的这台metad很快重启恢复起来,后续metad集群的异常就不会出现,只有在宕机那台不恢复的情况下,过几分钟metad服务会出现上述报错,但是不可用。请教一下,metad的高可用,宕机那台必须要恢复才行吗,2台metad稳定现在会出现异常。

用的raft协议,机器最好至少是2F+1

如果已经是2了,再坏一次就不可用了。

你这种杀掉一个来验证的方式本质是验证2节点容错。

我是在三台的时候杀掉一台,剩下两台的时候就没有任何操作了,运行基本2分钟 整个集群就不可用。测了多次都是这样的结果。
剩下两台的情况下,我是没有宕机剩下的两台中任何一台的。

1 个赞

能给一下 binary 版本信息吗?

我是个是3.0.0的版本搭建的

你可以用 3.1 版本测测,3.1 修了一些 raft 的问题。

这样啊,那我后续试试

嗯,首先2分钟以后集群不可用确实是在一台被kill的情况下又出现了错误才会这样的,这个你可以如@spw所言,尝试更新我们新的版本,我只是说对于你这个场景,是不能容忍两台机器错误的。

当然如果没有错误就算只剩两台也是能继续运行的,但是为了可用性最好还是能再次拉起down掉的meta。

升级到3.1.0之后还是这个现象,感觉像是只剩2台,整个metad就很不稳定,运行几分钟后,就必然不行了,但是我从日志看不出是为什么导致的。metad之间是这么通信的呢,我现在看不到metad的心跳日志。

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