Elasticsearch的数据节点磁盘容量不同时如何优化分片分配策略

作者:石文
时间:2018-07-11


概要

Elasticsearch版本:5.6.4

Elasticsearch集群均衡策略

我们经常用“开箱即用”形容Elasticsearch在配置上的简洁性。无论是节点级别的配置、还是集群级别的配置往往默认配置是非常有优势的。但是这些默认配置在大集群情况下、大的数据量写入的情况下往往会出现一些“坑”。本文主要探讨Elasticsearch集群均衡策略的配置和优化。Elasticsearch集群均衡策略是在集群分布式,高可用的设计背景下集群进行动态平衡,集群所有节点均摊集群负载的一种方式。

Elasticsearch集群的均衡主要在如下两个方面进行控制:

分片分配设置

在默认集群配置下,向Elasticsearch集群新建一个索引,master节点根据现在各个数据节点上的主分片分布情况来安排哪些节点来接收新的索引的主分片,根据各个数据节点上的总分片的分布情况来安排哪些节点来接收新的索引的副本分片。本着集群各数据节点总体均衡的策略来安排节点。

集群重平衡设置

数据节点数据盘大小的一致性
当Elasticsearch各角色有明确划分时,集群中只有数据节点允许存放索引分片,按照Elasticsearch的集群均衡策略,默认情况下集群总是要保证所有的数据节点具有相同数量的分片,即集群均衡的是分片数在各节点保持一致,而不是数据盘占用率,也不是数据盘使用量。在基于Elasticsearch默认的集群均衡策略下,数据节点的磁盘大小保持一致是非常重要的,既可以有效利用磁盘,也不会出现某些节点磁盘使用率与其他数据节点相比显著偏高的问题。但是在生产过程中我们无法总是保证这种一致性,或者在某些情况下需要紧急扩容,从而出现数据节点磁盘量不一致的情况。

数据节点磁盘容量不一致如何保持合理的资源利用率

在默认的集群均衡策略下,对于数据节点来说,若磁盘容量不一致,类似木桶原理的弊端就会显露出来,而且可能会使集群处于分片不断迁移的死循环。

如何配置分片分配策略

发布了67 篇原创文章 · 获赞 0 · 访问量 1800

猜你喜欢

转载自blog.csdn.net/zhinengyunwei/article/details/104037864
今日推荐