🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
在一个网络/云的环境里,失败随时都可能发生,在某个分片/节点不知怎么的就处于离线状态,或者由于任何原因消失了,这种情况下,有一个故障转移机制是非常有用并且是强烈推荐的。为此目的,Elasticsearch 允许你创建分片的一份或多份拷贝,这些拷贝叫做复制分片(副本)。 <br/> 复制分片之所以重要,有两个主要原因: 1)在分片/节点失败的情况下,提供了高可用性。因为这个原因,注意到复制分片从不与原/主要(original/primary)分片置于同一节点上是非常重要的。 2)扩展你的搜索量/吞吐量,因为搜索可以在所有的副本上并行运行。 <br/> 总之,每个索引可以被分成多个分片。一个索引也可以被复制 0 次(意思是没有复制)或多次。一旦复制了,每个索引就有了主分片(作为复制源的原来的分片)和复制分片(主分片的拷贝)之别。<mark>分片和副本的数量可以在索引创建的时候指定。在索引创建之后,你可以在任何时候动态地改变副本的数量,但是你事后不能改变分片的数量。默认情况下,无论是单个节点还是多个节点集群,Elasticsearch 中的每个索引被分片 1 个主分片以及对应的1个副本,这意味着每个索引总共就有 2 个分片。</mark> ```json GET /users { "users" : { "aliases" : { }, "mappings" : { }, "settings" : { "index" : { "creation_date" : "1634980498443", "number_of_shards" : "1", #1个主分片 "number_of_replicas" : "1", #1个副分片 "uuid" : "dO1nPPpsSAWLLp-ofcozTQ", "version" : { "created" : "7080099" }, "provided_name" : "users" } } } } ```