Репликация ELK и роль узлов данных
Я использую кластер ELK с 3 узлами данных. 2 узла данных также используются в качестве узлов приема данных с использованием двух систем logstash.
Я использую 1 осколок и 0 реплик для одного индекса, который ежедневно создается с примерно 2 миллионами документов на индекс. Текущий размер индекса составляет около 8 ГБ.
Поскольку у меня не так много узлов, для индекса будет достаточно одного шарда. Я думаю.
Однако 0 реплика означает, что реплики не будут доступны. Но так как я использую 1 осколок, каждый индекс находится в одном узле.
Теперь мой вопрос: хранятся ли разные индексы в разных узлах данных или все данные хранятся во всех узлах данных?
Некоторое время назад произошел сбой одного узла данных, и я удалил его физически и добавил новый узел в кластер. Никакие данные не были потеряны согласно моему пониманию.
мне нужно изменить реплику на 1.?
1 ответ
Индекс разбивается на несколько сегментов, которые можно хранить на нескольких узлах данных.
Если индекс имеет один сегмент и ноль реплик, все его документы будут храниться только на одном узле данных. Если этот узел выходит из строя, весь индекс теряется.
Если у индекса есть один шард и одна реплика, ES обычно помещает их в разные узлы данных, чтобы в случае сбоя одного узла индекс можно было восстановить с другого узла.