ETCD-节点挂掉会怎样?

今天没别的意思,就是想折腾下ETCD集群如果出现故障后会咋样,随便玩玩。

0.环境是,三*立的ubuntu机器,搭建的一个三节点的etcd集群。

ETCD-节点挂掉会怎样?

1.先看下正常状态下的一组操作。

ETCD-节点挂掉会怎样?

 

 

2.直接干掉一个节点,但是不是主节点。

此时在活着的两台机器上执行 etcdctl member list 都是这个结果

ETCD-节点挂掉会怎样?

 

然后三台分别执行etcdctl endpoint health,活着的两台是health,死的是unhealth。

然后在活着的两台机器上其中一台put一个值,另一台是可以get到的。

ETCD-节点挂掉会怎样?

 

 

3.我现在尝试启动第三台死掉的那台机器,然后get下第二步中put的值试试。

ETCD-节点挂掉会怎样?

 

没问题可以同步过来。

 

4.接下来是直接干掉两台

不行了,白废了,一台不能进行操作了

ETCD-节点挂掉会怎样?

 

看下最后的这一台的etcd启动的那个窗口。

反复滚动如下信息

ETCD-节点挂掉会怎样?

 

随便救活一个之后返现可以操作了,这个就不截图了。

 

其实此时后台是一直在寻找第三台死的那个机器的

ETCD-节点挂掉会怎样?

 

启动第三台之后,瞬间不滚动了,消停了。都连接上了

ETCD-节点挂掉会怎样?

 

 

5.最后提醒一下,就是etcdctl member list 这个命令不是获取在线的节点信息的意思哈,这个地方容易误解,比如我现在已经关掉了108这个节点(彻底关机,不是单纯退出etcd)

 

ETCD-节点挂掉会怎样?

OK就这些 纯粹就是想看看结果啥样,操作操作玩玩。下一篇文章整理 ratf 算法相关。