故障转移
当集群中只有一个节点在运行时,意味着会有一个单点故障问题——没有冗余,如何处理
- 只需再启动一个节点即可防止数据丢失
- 在同一台机器上启动了第二个节点时,只要它和第一个节点有同样的 cluster.name 配置,它就会自动发现集群并加入到其中
- 注意
- 在不同机器上启动节点的时候,为了加入到同一集群,需要配置一个可连接到的单播主机列表。之所以配置为使用单播发现,以防止节点无意中加入集群
- 只有在同一台机器上运行的节点才会自动组成集群
本示例在windows上进行,由于是一台设备启动多个服务,因此会自动组成集群
如果启动了第二个节点,集群将会拥有两个节点 : 所有主分片和副本分片都已被分配
通过 elasticsearch-head 插件查看集群情况
- 集群健康值 green( 3 of 6 ):表示所有 6 个分片(包括 3 个主分片和 3 个副本分片)都在正常运行
- 加粗框1,2,3表示主分片,而非加粗框表示副本分片
- 3 个主分片正常
- 第二个节点加入到集群后, 3 个副本分片将会分配到这个节点上——每 个主分片对应一个副本分片
- 当集群内任何一个节点出现问题时,数据都完好无损
- 所有新近被索引的文档都将会保存在主分片上,然后被并行的复制到对应的副本分片上
- 既可以从主分片又可以从副本分片上获得文档
Last Updated: 2022/04/10, 13:57:31