apache zookeeper - ¿Se pueden implementar los nodos ''maestros'' y ''esclavos'' de Mesos en las mismas máquinas?
apache-zookeeper mesosphere (1)
Definitivamente, puede ejecutar un proceso maestro, esclavo y zk en el mismo nodo. Incluso puede ejecutar varios procesos maestros y esclavos en el mismo nodo, siempre que les dé cada puerto único, pero eso solo es útil para un clúster de prueba.
Por lo general, recomendamos ejecutar ZK en los mismos nodos que sus maestros, pero si tiene ZK adicionales, ciertamente puede ejecutarlos en esclavos, o mezclar y combinar como mejor le parezca, siempre que todos los nodos maestro / esclavo / marco puedan Alcanza los nodos ZK, y todos los esclavos pueden llegar a los maestros.
Para un clúster más pequeño (<10 nodos) podría tener sentido ejecutar un proceso esclavo en cada maestro, especialmente porque los maestros en espera no harán mucho. Incluso un maestro activo para un clúster pequeño usa solo una pequeña cantidad de recursos de CPU, memoria y red. Solo asegúrese de ajustar los recursos en ese esclavo para tener en cuenta el uso de recursos del maestro.
Una vez que su clúster se hace más grande (especialmente> 100 nodos), el tráfico de red hacia / desde el maestro, así como su utilización de cpu / memoria, se vuelve lo suficientemente significativo como para que no quiera ejecutar un mesos slave en el mismo nodo que el maestro. Debería estar bien coubicar ZK con su maestro incluso a gran escala.
No preguntó específicamente, pero también discutiré dónde ejecutar los programadores de su marco (por ejemplo, Spark, Marathon o Chronos). Estos podrían ubicarse junto con cualquiera de los otros componentes, pero solo necesitan realmente poder alcanzar los nodos maestro y zk, ya que toda la comunicación con los esclavos se realiza a través del maestro. Algunos clientes ejecutan los programadores en nodos maestros, otros los ejecutan en nodos de borde (para que los usuarios no tengan acceso a los esclavos), y otros utilizan meta-marcos como Marathon para ejecutar otros programadores en esclavos como tareas de Mesos.
¿Pueden los nodos "maestros" de Apache Mesos colocarse en la misma máquina que los nodos "esclavos" de Mesos? De manera similar (para implementaciones de alta disponibilidad (HA)), ¿pueden implementarse los nodos Apache Zookeeper utilizados en la elección "maestra" de Mesos en las mismas máquinas que los nodos "esclavos" de Mesos?
Mesos recomienda que se usen 3 ''maestros'' para implementaciones de alta disponibilidad, y Zookeeper recomienda que se usen 5 nodos para su sistema de elección de quórum. Sería bueno tener estos servicios funcionando junto con los procesos "esclavos" de Mesos en lugar de comprometer 8 máquinas en tareas efectivamente "no productivas".
Si tal configuración es factible, ¿cuáles son los pros / contras de tal configuración?
¡Gracias!