Elasticsearch实战-ES集群-分布式新增查询、故障转移

三个节点
9200(master)
9201
9202
参考:Elasticsearch实战-ES集群-搭建

一、实战

1、新增

用kibana连接到主节点9200

POST /itcast/_doc/1
{
	"title": "设置插入一条id = 1"
}

用工具
在这里插入图片描述
分别插入id=1,3,5三条数据

2、 查询

GET /itcast/_search
{
	"query": {
		"match_all": {}
	}
}

在这里插入图片描述

3、从节点查询

从9201/9202查询,发现也是3条数据
在这里插入图片描述

4、分析存储情况

增加explain命令,发现数据存储在不同的分片,说明协调节点发挥了作用
在这里插入图片描述

二、分布式存储

1、分片算法

在这里插入图片描述

2、新增文档流程

P是分片,R是备份
在这里插入图片描述

三、分布式查询

请求会发送到所有节点
在这里插入图片描述

四、分布式总结

分布式新增如何确定分片

  • coordinating node 根据id做hash运算,得到结果对shard数量取余,余数就是对应的分片

分布式查询

  • 分散阶段:coordinating node将查询请求分发到不同的分片
  • 收集阶段:将查询结果汇总到coordinating node,整理并返回给用户

五、故障转移

集群的master节点会监控集群中节点状态,如果发现有节点宕机,会立即将宕机节点的分片数据迁移到其他节点,确保数据安全,这个叫做故障转移。

  • master宕机后,EligibleMaster选举为新的主节点
  • master节点监控分片、节点状态,将故障节点上的分片转移到正常节点,确保数据安全
    在这里插入图片描述

实战

原本状态
在这里插入图片描述

  1. 停掉01
docker-compose stop es01
  1. 此时cerebro查看状态
    在这里插入图片描述

  2. 稍等迁移之后
    在这里插入图片描述

  3. 重启es01

docker-compose start es01
  1. 查看状态
    在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值