微服务框架
【SpringCloud+RabbitMQ+Docker+Redis+搜索+分布式,系统详解springcloud微服务技术栈课程|黑马程序员Java微服务】
SpringCloud微服务架构
文章目录
- 微服务框架
- SpringCloud微服务架构
- 29 ES 集群
- 29.5 故障转移
- 29.5.1 ES集群的故障转移
- 29.5.2 总结
29 ES 集群
29.5 故障转移
29.5.1 ES集群的故障转移
集群的master节点会监控集群中的节点状态,如果发现有节点宕机,会立即将宕机节点的分片数据迁移到其它节点,确保数据安全,这个叫做故障转移。
主节点现在挂掉了,node2 和node 3 是候选
现在就是一个群龙无首的状态,此时node 2 和 3 就会再选一个主出来
比如选中了node2
它就会发现,现在的数据分片是不安全的,0 只有副本分片,没有主分片【但凡现在出问题,就G了】
【现在的集群状态就是不健康的,处于一个危险的边缘】
这个时候就会进行一个迁移了,把挂了的节点上的分片,迁移到健康的节点上
确保任何一个分片都至少有两份
【演示一下】
当前01 是主节点,我现在把它停掉
通过命令 docker-compose stop es01
这样es01 就停了
再次查看控制台
我超,我直接进不去了,我又把01 跑起来了
可以看到现在老大已经不是 01 节点了,变03 了
我再停一下03
这次看到老师那种效果了
老大又变成es 01 了
等一下
好家伙,等了半天,可以看到,分片情况已经改变了【现在数据分片就完成迁移了】
现在就又实现了每一个片都有0、1、2 了【这就是故障转移】
查一下啊
可以看到3 条文档都还在
现在我们把03 重新启动
再看控制台
OK,es03一回来,分片情况就又回去了,而且现在9202 也可以正常工作
没毛病!!!!
29.5.2 总结
故障转移:
- master宕机后,EligibleMaster选举为新的主节点。
- master节点监控分片、节点状态,将故障节点上的分片转移到正常节点,确保数据安全。