Фон
У меня есть AWS управляемый кластер Elascsearch v6.0 с 14 экземплярами данных.
Он имеет индексы на основе времени, такие как data-2010-01
, ...
, data-2020-01
.
Проблема
Свободное место для хранения очень несбалансировано между экземплярами, что я вижу в консоли AWS:
Я заметил, что это распределение меняется каждый раз, когда службы AWS проходят через сине-зеленое развертывание. Это происходит при изменении настроек кластера или AWS выпускает обновление.
Иногда сине-зеленый приводит к тому, что в одном из экземпляров полностью не хватает места. Когда это происходит, служба AWS запускает еще один сине-зеленый, и это решает проблему без влияния на клиента. (Тем не менее, это влияет на частоту сердечных сокращений!)
Размер осколка
Размер осколков для наших индексов составляет гигабайт, но ниже рекомендации Elasticsearch из 50GB
. Размер осколка зависит от индекса. У многих наших старых индексов есть только несколько документов.
Вопрос
То, как алгоритм балансировки AWS не сбалансирован хорошо, и что это приводит к каждый раз неожиданный другой результат.
Мой вопрос: как алгоритм выбирает, какие сегменты выделить для какого экземпляра, и могу ли я самостоятельно устранить этот дисбаланс?