ETCD-节点挂掉会怎样?
今天没别的意思,就是想折腾下ETCD集群如果出现故障后会咋样,随便玩玩。
0.环境是,三台独立的ubuntu机器,搭建的一个三节点的etcd集群。
1.先看下正常状态下的一组操作。
2.直接干掉一个节点,但是不是主节点。
此时在活着的两台机器上执行 etcdctl member list 都是这个结果
然后三台分别执行etcdctl endpoint health,活着的两台是health,死的是unhealth。
然后在活着的两台机器上其中一台put一个值,另一台是可以get到的。
3.我现在尝试启动第三台死掉的那台机器,然后get下第二步中put的值试试。
没问题可以同步过来。
4.接下来是直接干掉两台
不行了,白废了,一台不能进行操作了
看下最后的这一台的etcd启动的那个窗口。
反复滚动如下信息
随便救活一个之后返现可以操作了,这个就不截图了。
其实此时后台是一直在寻找第三台死的那个机器的
启动第三台之后,瞬间不滚动了,消停了。都连接上了
5.最后提醒一下,就是etcdctl member list 这个命令不是获取在线的节点信息的意思哈,这个地方容易误解,比如我现在已经关掉了108这个节点(彻底关机,不是单纯退出etcd)
OK就这些 纯粹就是想看看结果啥样,操作操作玩玩。下一篇文章整理 ratf 算法相关。