集群内的原理
这是补充章节的第一篇,介绍 Elasticsearch 在分布式环境中的运行原理。介绍 cluster、node、shard 等常用术语,Elasticsearch 的扩容机制,以及如何处理硬件故障的内容。
本章将讲述如何按需配置集群、节点和分片,并在硬件故障时确保数据安全。
一、空集群
一个不包含任何数据和索引的单独节点的集群,就是空集群。
一个运行中的 Elasticsearch 实例称为一个节点,而集群是由一个或多个拥有相同 cluster.name
配置的节点组成,它们共同承担数据和负载的压力。当有节点加入集群中或者从集群中移除节点时,集群会重新平均分布所有的数据。
当一个节点被选举为主节点时,它将负责管理集群范围内的所有变更,如增删索引、增删节点等。而主节点并不需要涉及到文档级别的变更和搜索等操作。任何节点都能成为主节点。
作为用户,我们可以将请求发送到集群的任何节点,包括主节点。每个节点都知道任意文档所处的位置,并且能将我们的请求直接转发到存储我们所需文档的节点。