Si tengo un conjunto de réplicas con mongodb, entonces un servidor principal recibe todas las operaciones de escritura/lectura y las escribe en el servidor. El servidor secundario lee las operaciones del registro de operaciones y las replica. Ahora me gustaría analizar los datos en el conjunto de réplicas de mongodb con el conector spark-mongodb. Puedo instalar un clúster Spark en los tres nodos y ejecutar análisis en él en la memoria. Entiendo que Spark Cluster tiene un nodo principal en el que debo enviar el trabajo de Spark para análisis o Spark Streaming. Ambos están instalados en un servidor de aplicaciones en tomcat.
ahora necesito elegir un nodo maestro para enviar el trabajo desde mi servidor de aplicaciones tomcat al clúster de chispa. ¿Debería ser el servidor principal el nodo Spark Master? y que el controlador de una aplicación puede conectarse para enviar trabajos en él?. ¿Cuál sería el maestro Spark en un clúster fragmentado?
Realmente no importa qué nodo es el Spark Master en su clúster. El maestro de Spark será el responsable de asignar las tareas a los ejecutores de Spark, no recibirá todas las solicitudes de lectura/escritura. Cada ejecutor será entonces responsable de obtener los datos que necesita procesar.
Tenga cuidado con la partición de datos en Spark, puede suceder que mongoDB solo proporcione una única partición para comenzar, por lo que es posible que desee realizar una nueva repartition primero.