Elasticsearch: Распределение файлов по путям данных - PullRequest
1 голос
/ 09 апреля 2020

Есть много документов, говорящих о распределении сегментов по узлам в кластере, но очень мало о фактическом использовании нескольких путей данных в узлах . Ясно, что осколок нельзя разделить по разным путям, но WHEN и HOW Elasticsearch (скажем, 7.6) решает создать или переместить осколок из одного пути данных в другой ( через узлы или в пределах одного и того же узла)?

Написано, что когда диск достигает заданного водяного знака (например, 90%), система решает перераспределить фрагменты. НО это включает в себя возможность перераспределить их в пределах одного и того же узла, т.е. переместить его на новый пустой диск, например?

Можно ли указать Elasti c использовать заданный путь данных при создании например, новый индекс?

Есть ли какой-либо четкий документ, подробно объясняющий эти действия?

Спасибо.

1 Ответ

1 голос
/ 09 апреля 2020

Ответ немного зависит от версии и может измениться в будущем. Этот ответ относится ко всем выпущенным и поддерживаемым версиям на момент написания, то есть версиям от 6,5 до 7,6. Ни одна из этих версий не перемещает осколки между дисками внутри узла. Все они выбирают путь для каждого шарда в первый раз, когда он назначается узлу, и там он остается. Если диск достигает верхнего водяного знака, то Elasticsearch переместит один или несколько сегментов по самому полному пути данных на разные узлы, и эти узлы выберут путь данных с достаточным пространством для сегмента и, как правило, предпочтут более пустые пути.

Хотя это не звучит идеально, на практике это не слишком большая проблема. Вы можете объединить несколько дисков вместе (например, используя RAID 0 или LVM) в один логический том, избегая проблем балансировки между путями данных в узле. В качестве альтернативы, если вам действительно нужен больший контроль над распределением сегментов для отдельных дисков, вы можете запустить несколько небольших узлов на каждом хосте, каждый из которых использует только один диск. Вы даже можете комбинировать эти подходы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...