ES---底层原理

ES—底层原理

ES一般情况下分为:主节点,子节点,云端节点

主节点:(master:例如下面的boss)负责创建索引、删除索引、分配分片、追踪集群中的节点状态等

子节点 :负责存储数据,修改索引,查询信息等

云端节点: 负责当数据丢失情况,进行恢复

索引分片

在这里插入图片描述
每个索引默认有5个分片,1个副本数
number_of_shards:分片数
number_of_replicas:备份数
在这里插入图片描述
【注意:该图是ES的head插件创建索引时的截图】

至于怎么将文件存储到不同的节点,es会根据hashcode(routing)%分片数,进行分配
在这里插入图片描述
颜色粗的—>主分片
颜色浅的–>备份分片

修改时先从备份分片进行修改,等主节点确定修改无误,才会将备份分片的内容复制拷贝到主分片,如果修改失败,主分片可以恢复备份分片。但一般ES不建议修改,因为ES本身是用来做查询和存储的,修改起来会比较麻烦

查询信息时,首先master向包含主分片的节点发送消息(一般情况下master只包含主分片,但不能全部放在主节点上,因为要负载均衡),我要查询某某信息,对应的节点就开始查询,假如对应的节点挂了,master会查询拥有备份信息的节点,并提升备份分片为主分片,而且通知其他存活且空闲节点备份信息,形成备份分片。又假如拥有主分片的查询速度过慢,又存在拥有备份分片的空闲节点,那么会再请求这个空闲节点同时查询。

先写这么多,

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值