Репликация ELK и роль узлов данных

Я запускаю кластер ELK с 3 узлами данных. 2 узла данных также используются в качестве узлов приема данных с использованием 2 систем logstash.

Я использую 1 сегмент и 0 реплик для одного индекса, который ежедневно создается примерно с 2 миллионами документов на индекс. Текущий размер индекса составляет около 8 ГБ.

Так как у меня не так много узлов, для индекса будет достаточно 1 шарда. Я думаю.

Однако 0 реплик означает, что реплик не будет. Но поскольку я использую 1 сегмент, каждый индекс находится в одном узле.

Теперь мой вопрос: разные индексы хранятся в разных узлах данных или все данные хранятся во всех узлах данных?

Некоторое время назад один узел данных вышел из строя, и я физически удалил его и добавил новый узел в кластер. Насколько я понимаю, данные не были потеряны.

мне нужно изменить реплику на 1.?


person Dasun    schedule 17.05.2019    source источник


Ответы (1)


Индекс разбит на несколько сегментов, которые могут храниться на нескольких узлах данных.

Если индекс имеет один сегмент и ноль реплик, все его документы будут храниться только на одном узле данных. Если этот узел выходит из строя, весь индекс теряется.

Если в индексе есть один сегмент и одна реплика, ES обычно помещает их в разные узлы данных, чтобы в случае сбоя одного узла индекс можно было восстановить с другого узла.

person Viseshini Reddy    schedule 17.05.2019
comment
Большое спасибо за ответ. Так. ... когда я работаю с одним сегментом и 0 репликами, если у меня есть 2 узла, имеют ли они оба одинаковые данные или два разных набора данных. У меня был опыт потери одного узла, и, насколько я понял, на оставшемся узле были почти все данные. Так как же это происходит, если 2 узла имеют разные наборы данных? Или я потерял данные? - person Dasun; 18.05.2019
comment
Если у вас есть 2 узла данных и один шард для индекса, все данные будут храниться на одном узле. Таким образом, вы могли потерять узел данных без осколка. - person Viseshini Reddy; 20.05.2019