ES集群的状态有哪些,为什么主分片数目是固定的,副本分片却能动态调节,快看看这些关于ES的问题你都知道吗?
1. ES集群的状态 green 最健康的状态,说明所有的分片包括备份都可用
yellow 基本的分片可用,但是备份不可用(或者是没有备份)
red 部分的分片可用,表明分片有一部分损坏。此时执行查询部分数据仍然可以查到,遇到这种情况,还是赶快解决比较好
2. ES主分片数目为什么索引创建的时候就要确定?主分片数目如何确定
ES根据数据ID路由到分片方式为: shard = hash % primary_shard_num 。因此主分片的数目必须在索引创建之前确定好。
由于新加入节点,ES会自动对节点进行负载均衡,因此,主分片的数目主理想的数目是每个节点上一个主分片,数目与节点个数一样。
3. 新节点加入,节点故障会发生什么
新节点加入, Elasticsearch 将自动在可用节点间进行分片均衡,集群中的节点之间互相拷贝分片数据。原节点把迁移到其他节点分片的数据进行删除。
节点故障(主节点),状态为red
集群选举出新的主节点
将对应丢失的主分片的副本分片提升为主分片(yellow)
等待delayed_timeout (默认1min),如果故障节点还没回复,则在当前健康节点重建副本节点(green)
4. 主,副分片不同
每个分片都能独立执行数据搜索。ES集群中,每个节点都能处理任意请求。每个节点都知道任意文档的位置。
分片分为主分片与副本分片。主分片数目在索引创建的时候就确定好了,这个数目定义了这个索引能够 存