一个运行中的 Elasticsearch 实例称为一个节点,而集群是由一个或者多个拥有相同 cluster.name
配置的节点组成, 它们共同承担数据和负载的压力。当有节点加入集群中或者从集群中移除节点时,集群将会重新平均分布所有的数据。
主节点:
负责管理集群范围内的所有变更,例如增加、删除索引,或者增加、删除节点等;
不需要涉及到文档级别的变更和搜索等操作;
当集群只拥有一个主节点的情况下,即使流量的增加它也不会成为瓶颈。
我们可以将请求发送到 集群中的任何节点 ,包括主节点。 每个节点都知道任意文档所处的位置,并且能够将我们的请求直接转发到存储我们所需文档的节点。 无论我们将请求发送到哪个节点,它都能负责从各个包含我们所需文档的节点收集回数据,并将最终结果返回給客户端。
一个分片是一个 Lucene 的实例,它本身就是一个完整的搜索引擎。文档被存储和索引到分片内,但是应用程序是直接与索引而不是与分片进行交互。
Elasticsearch 是利用分片将数据分发到集群内各处的。分片是数据的容器,文档保存在分片内,分片又被分配到集群内的各个节点里。 当你的集群规模扩大或者缩小时, Elasticsearch 会自动的在各节点中迁移分片,使得数据仍然均匀分布在集群里。
一个分片可以是主分片或者副本分片。索引内任意一个文档都归属于一个主分片,所以主分片的数目决定着索引能够保存的最大数据量。
副本分片
只是一个主分片的拷贝。作为硬件故障时保护数据不丢失的冗余备份;
为搜索和返回文档等读操作提供服务。
索引建立的时候就已经确定了主分片数,但是副本分片数可以随时修改
索引在默认情况下会被分配5个主分片,每个主分片2个副本分片
网友评论