分布式集群

来源:互联网 发布:mt7620a 修改源码 编辑:程序博客网 时间:2024/05/16 10:23
一个节点(node) 就是一个Elasticsearch 实例,而一个集群(cluaster) 由一个或多个节点组成,它们具有相同的cluster.name,它们协调工作,分享数据和负载。当加入新的节点或者删除一个节点时,集群就会感知并平衡数据。添加索引:为了将数据添加到Elasticsearch,我们需要索引(index)---一个存储关联数据的地方,实际上,索引只是一个用来指向一个或多个分片(shards)的"逻辑命名空间(logical namespace)"让我们在集群中唯一一个空节点上创建一个叫做blogs的索引,默认情况下,一个索引被分配5个主分片,但是为了演示的目的, 我们只分配3个主分片和一个复制分片(每个主分片都有一个复制分片):PUT /blogs{"settings" : {"number_of_shards" : 3,"number_of_replicas" : 1}}我们只分配3个主分片和一个复制分片(每个主分片都有一个复制分片):{"settings":{"number_of_shards":3,"number_of_replicas":2}}分配3个主分片和2个复制分片增加故障转移:分片本身就是一个完整的搜索引擎,它可以使用单一节点的所有资源。我们拥有6个分片(3个主分片和三个复制分片),最多可以扩展到6个节点,每个节点上有一个分片,每个分片可以100%使用这个节点的资源。继续扩展:如果我们要扩展到6个以上的节点,要怎么做?主分片的数量在创建索引时已经确定。实际上,这个数量定义了能存储到索引里数据的最大数量(实际的数量取决于你的数据、硬件和应用场景)。然而,主分片或者复制分片都可以处理读请求——搜索或文档检索,所以数据的冗余越多,我们能处理的搜索吞吐量就越大。复制分片的数量可以在运行中的集群中动态地变更,这允许我们可以根据需求扩大或者缩小规模。让我们把复制分片的数量从原来的 1  增加到 2  :PUT /blogs/_settings{"number_of_replicas" : 2}从图中可以看出, blogs  索引现在有9个分片:3个主分片和6个复制分片。这意味着我们能够扩展到9个节点,再次变成每个节点一个分片。这样使我们的搜索性能相比原始的三节点集群增加三倍。

0 0