Elasticsearch -- 集群内的原理

如题所述

第1个回答  2022-07-13
首先理解三个概念

1)集群内的节点共同承担数据和负载的压力。
2)当有节点加入或者移出集群时,集群会重新平均分配所有的数据。

1)主节点负责集群内的所有变更(如增加、删除节点,增加、删除索引等)
2)主节点并不需要涉及到文档级别的变更和搜索
3)任何节点都可以成为主节点
4)每个节点都知道任意文档所处的位置,当用户请求时无论请求哪个节点都能直接将请求转发给实际存储文档的节点
5)无论用户请求哪个节点,它都能负责从个个包含我们所需文档的各个节点收集回数据并发给客户端,对这一切都是透明的

1)一个分片是一个底层的 工作单元
2)它本身就是一个完整的搜索引擎
3)应用程序是直接与索引而不是与分片进行交互
4)Elasticsearch 是利用分片将数据分发到集群内各处的
5)分片是数据的容器,文档保存在分片内
6)分片又被分配到集群内的各个节点里
7) 当你的集群规模扩大或者缩小时, Elasticsearch 会自动的在各节点中迁移分片,使得数据仍然均匀分布在集群里。
8)一个分片可以是 主分片 或者 副本分片
9)索引内任意一个文档都归属于一个主分片,所以主分片的数目决定着索引能够保存的最大数据量
10)一个副本分片只是一个主分片的拷贝。副本分片作为硬件故障时保护数据不丢失的冗余备份,并为搜索和返回文档等读操作提供服务
11)在索引建立的时候就已经确定了主分片数,但是副本分片数可以随时修改

其中 status 字段表示当前集群的健康状态(是否正常工作),有三种颜色
相似回答