Advertencia

Advertencia

Pregunta simple: ¿es estúpido ejecutar mongodb y elasticsearch en los mismos nodos dentro de un grupo de tres si se ocupa del hambre de memoria de mongodb usando cgroups e ignora el aspecto de io concurrente?

Respuesta1

Advertencia

La pregunta es ligera en cuanto a hechos como IOPS, RAM y CPU necesarios, por lo que la respuesta será ligera en lo mismo.


En términos generales, es malo colocar dos cargas de trabajo intensivas de IO/CPU/RAM en el mismo nodo, pero tengo experiencia trabajando en instancias de Elasticsearch que comparten hosts con otras bases de datos (como Redis y PostgreSQL) que están separadas por cgroups/contenedores LXC. Se puede hacer y se hace lo suficientemente bien para una carga de trabajo de producción.dado suficientes recursos brutos. Es una simple cuestión de controlar el uso de IO y RAM utilizando herramientas estándar del sistema como vmstat, sar, iotop, etc. y etc. Necesitará unos pocos miles de IOPS potenciales, unas pocas docenas de GB de RAM y una docena más o menos. Núcleos de CPU, pero es una arquitectura razonable si puede permitirse algunas máquinas host importantes. Por otra parte, si puede permitirse hosts lo suficientemente importantes (por ejemplo, i2.4xls en el lenguaje de Amazon), entonces puede permitirse un grupo más grande de instancias más pequeñas (i2.xls) y ejecutar Elasticsearch y MongoDB separados entre sí y luego poder ampliar en el futuro es parte de un mejor diseño del sistema.

información relacionada