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