Согласованность и терпимость к разделению в Elasticsearch - PullRequest
0 голосов
/ 06 ноября 2019

Поскольку я новичок вasticsearch, использующем [asticsearch version 7.4] и с большим количеством исследований, до сих пор не ясно, сколько осколков / узлов предпочтительнее в конкретном индексе. На данный момент я настроил 3 шарда и 2 реплики с 3 узлами (каждый из которых имеет 8 ГБ ОЗУ, 500 ГБ HDD). и наличие 55 ГБ данных в одном индексе. Поэтому мне нужны ваши мнения / предложения в следующих пунктах.

  1. Выше приведено без шардов, узлов, реплик достаточно.
  2. Для теоремы CAP я предпочитаю CP, т. Е .: согласованность и допуск на разделение для этого в кластере с 3 узлами
    • для согласованности, настроенной write_consistency = all
    • для мастер-установки набора допусков-приемлемый узел для (N / 2) + 1 в моем случае это 3.

1 Ответ

0 голосов
/ 13 ноября 2019

Надеюсь, я могу дать вам несколько полезных советов из моего времени работы с кластерами Elasticsearch:)

1)

Осколки: см. этот пост в блоге для получения дополнительной информации , новаш средний осколок будет 55gb/3 = 18gb, что является хорошим размером осколка (по моему опыту лучше всего держать осколки между 5gb-25gb, документы по ES также рекомендуют это).

Реплики: 2 реплики - мой ход-для хорошего баланса между отказоустойчивостью и производительностью, так что это хорошо.

Узлы: этих трех узлов должно быть достаточно, и вам не понадобится так много диска. С 2 репликами у вас будет храниться примерно 55gb * 3 = 165gb данных (может быть больше в зависимости от вашего сопоставления) на 1500gb жесткого диска, поэтому, возможно, вы могли бы сэкономить немного денег, используя узлы с 100gb дисками.

2)

Для допуска раздела я мог бы предложить установить write_consistency=quorum. Таким образом, даже если вы потеряете узел и, следовательно, 1 осколок реплики, вы все равно сможете писать с 1 основной и 1 оставшейся репликой. В противном случае вам потребуется перезагрузить / воссоздать этот узел, чтобы начать запись снова. Для получения дополнительной информации см. https://www.elastic.co/guide/en/elasticsearch/reference/2.4/docs-index_.html#index-consistency.

Допустимо мастер: Да, я рекомендую минимум 3 мастер-узла, поэтому вы должны установить все 3 из этих узлов как главные и узлы данных.

...