ElasticSearch 集群原理

节点

一个运行中的EasticSearch 被称为一个节点,而集群是由多个用于拥有相同cluster.name配置的节点组成,它们共同承担数据和负载的压力,当有新的节点加入或移除,集群会重新平均分布所有的数据。

集群中的节点分为主节点和从节点。主节点负责管理集群范围内的所有变更,例如增加、删除索引或节点,我们可以将请求发送到任意节点,每个节点都知道任意文档所处的位置,并且能将我们的请求转发到我们操作要对应的节点上。

分片

分片是底层的一个工作单元,一个分片就是一个Lucene示例,一个分片就是一个完整的搜索引擎。我们的索引数据被存储到分片中,一个分片可以存储多条索引文档。

分片是数据的容器,文档存储在分片内,分片又被分配到集群的各个节点。当集群规模扩大或缩小时,ElasticSearch会自动在各节点中迁移分片,使得数据仍然均匀的分配到集群中。

分片分为主分片和副本分片。主分片数量是固定的,在索引建立的时候就确定了。副本分片只是作为主分片的一个拷贝,作为硬件故障时保护数据不丢失的一个备份,副本分片允许处理搜索查询请求,但不允许处理修改、删除的操作。

原文地址:https://www.cnblogs.com/chentop/p/10308883.html