Это вообще плохая идея запускать MongoDB и ElasticSerach на одних и тех же узлах

Простой вопрос: глупо ли запускать mongodb и asticsearch на одних и тех же узлах в кластере из трех, если вы заботитесь о голоде памяти mongodb с помощью cgroups и игнорируете аспект параллельного ввода-вывода?

1 ответ

Решение

Предупреждение

Вопрос в том, что касается необходимых операций ввода-вывода в секунду, оперативной памяти и процессора, поэтому вопрос будет легким.


Вообще говоря, плохо размещать две интенсивные рабочие нагрузки ввода-вывода / ЦП / ОЗУ на одном узле, но у меня есть опыт работы с экземплярами Elasticsearch, которые совместно используют хосты с другими базами данных (такими как Redis и PostgreSQL), разделенными контейнерами cgroups / LXC. Это можно сделать и сделать достаточно хорошо для рабочей нагрузки при наличии достаточных ресурсов. Просто следить за использованием ввода-вывода и оперативной памяти с помощью стандартных системных инструментов, таких как vmstat, sar, iotop и т. Д., И т. Д. Вам потребуется потенциал в несколько тысяч IOPS, несколько десятков ГБ ОЗУ и дюжина или около того. Ядра процессора, но это разумная архитектура, если вы можете позволить себе несколько существенных хост-машин. Опять же, если вы можете позволить себе достаточно существенные хосты (например, i2.4xls в Amazon-говорят), то вы можете позволить себе больший пул меньших экземпляров (i2.xls) и запускать Elasticsearch и MongoDB отдельно друг от друга, а затем сможете в будущем увеличить масштаб лучшего проекта системы.

Другие вопросы по тегам