Elasticsearch7.8.0版本进阶——分布式集群(水平扩容)

Posted 小志的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Elasticsearch7.8.0版本进阶——分布式集群(水平扩容)相关的知识,希望对你有一定的参考价值。

目录

一、Elasticsearch集群的安装

1.1、Elasticsearch集群的安装(win10环境)

1.2、Elasticsearch集群的安装(linux环境)

二、水平扩容(win10环境集群演示)

  • 先启动Elasticsearch7.8.0集群的节点1
  • 再启动Elasticsearch7.8.0集群的节点2
  • 最后启动Elasticsearch7.8.0集群的节点3
  • 当启动了第三个节点,我们的集群将会拥有三个节点的集群 : 为了分散负载而对分片进行重新分配。
  • 通过 elasticsearch-head 插件查看集群情况
  • elasticsearch-head 插件集群情况解释如下:

三、想要扩容超过 6 个节点怎么办

3.1、主分片和副分片数目

  • 主分片的数目在索引创建时就已经确定了下来。实际上,这个数目定义了这个索引能够
    存储 的最大数据量。(实际大小取决于你的数据、硬件和使用场景。)
  • 但是,读操作(即搜索)和返回数据可以同时被主分片或副本分片所处理。所以当你拥有越多的副本分片时,也将拥有越高的吞吐量。
  • 在运行中的集群上是可以动态调整副本分片数目的,我们可以按需伸缩集群。

3.2、扩容超过 6 个节点示例

  • 把副本数从默认的 1 增加到 2(即每个节点2个副本分片,一共3个主分片,6个副本分片,一共9个分片),postman工具发送PUT请求,访问 http://127.0.0.1:1001/user/_settings,参数如下:

    
    	"number_of_replicas" : 2
    
    

  • user索引现在拥有 9 个分片:3 个主分片和 6 个副本分片。 这意味着我们可以将集群扩容到 9 个节点,每个节点上一个分片。相比原来 3 个节点时,集群搜索性能可以提升 3 倍。

  • 通过 elasticsearch-head 插件查看集群情况。

  • 当然,如果只是在相同节点数目的集群上增加更多的副本分片并不能提高性能,因为每
    个分片从节点上获得的资源会变少。你需要增加更多的硬件资源来提升吞吐量。

  • 但是更多的副本分片数提高了数据冗余量:按照上面的节点配置,我们可以在失去 2 个节点
    的情况下不丢失任何数据。

以上是关于Elasticsearch7.8.0版本进阶——分布式集群(水平扩容)的主要内容,如果未能解决你的问题,请参考以下文章

Elasticsearch7.8.0版本进阶——倒排索引

Elasticsearch7.8.0版本进阶——近实时搜索

Elasticsearch7.8.0版本进阶——分片控制

Elasticsearch7.8.0版本进阶——分布式集群(故障转移)

Elasticsearch7.8.0版本进阶——持久化变更

Elasticsearch7.8.0版本进阶——数据更新流程