El doc https://spark.apache.org/docs/1.1.0/submitting-applications.html

describe implementar modo como :

--deploy-mode: Whether to deploy your driver on the worker nodes (cluster) or locally as an external client (client) (default: client)

El uso de este diagrama fig1 como una guía (tomado de http://spark.apache.org/docs/1.2.0/cluster-overview.html) :

¿Qué condiciones debería clúster de implementar el modo de ser usado en lugar del cliente?

Si me saque de una Chispa de trabajo :

./bin/spark-submit \
  --class com.driver \
  --master spark://MY_MASTER:7077 \
  --executor-memory 845M \
  --deploy-mode client \
  ./bin/Driver.jar

A continuación, el Driver Program será MY_MASTER como se especifica en fig1 MY_MASTER

Si en lugar de eso utiliza --deploy-mode cluster, a continuación, el Driver Program será compartida entre los Nodos de trabajo ? Si esto es cierto, entonces ¿significa esto que el Driver Program cuadro en fig1 se puede quitar (ya no se utiliza) como el SparkContext también serán compartidos entre los nodos de trabajo ?

Qué condiciones debe cluster ser utilizado en lugar de client ?

InformationsquelleAutor blue-sky | 2015-03-02

3 Comentarios

  1. 91

    No, cuando se implemente de modo es client, el Conductor del Programa no es necesariamente el nodo maestro. Usted podría ejecutar chispa presentar en su computadora portátil, y el Conductor del Programa se ejecuta en su computadora portátil.

    Por el contrario, cuando se implemente de modo es cluster, a continuación, el administrador de clúster (nodo principal) se utiliza para encontrar a un esclavo para tener suficientes recursos disponibles para ejecutar el Programa del Controlador. Como resultado, el Conductor del Programa se ejecutaría en uno de los nodos esclavos. Como su ejecución se delega, usted no puede obtener el resultado de Controlador de Programa, se debe almacenar sus resultados en un archivo de base de datos, etc.

    • Modo cliente
      • Quiere obtener un resultado de un trabajo (análisis dinámico)
      • Más fácil para los países en desarrollo/depuración
      • De Control cuando su Conductor se está ejecutando un Programa
      • Siempre de aplicación: exponer su Chispa de trabajo launcher como el DESCANSO o de un servicio de interfaz de usuario Web de
    • Modo de clúster
      • Más fácil para la asignación de recursos (deja que el maestro decida): dispara y olvida
      • Monitor de su Programa de Controlador principal de la interfaz de usuario Web al igual que otros trabajadores
      • Parada en el final: un trabajo está terminado, los recursos asignados son liberados
    • en el modo de cliente de balas de puntos, ¿por qué usted dice: «más Fácil para el desarrollo/depuración»?
    • Así, como suena: modo cliente implica que el controlador es lo que la máquina de la chispa a presentar se ejecuta? Así que si hay un clúster, y el modo de implementar en el cliente, el conductor de la máquina que usted envíe, y mientras el clúster está configurado correctamente, se va a ejecutar en paralelo en el clúster? También, suena como: modo de clúster implica que la máquina que usted envíe debe ser el nodo maestro?
  2. 5

    Creo que esto puede ayudar a entender.En el documento https://spark.apache.org/docs/latest/submitting-applications.html
    Se dice que » Un común de implementación de la estrategia es enviar la solicitud de un equipo de puerta de enlace que es físicamente co-ubicado con sus máquinas de trabajadores (por ejemplo, nodo Maestro en un independiente clúster de EC2). En esta configuración, el modo de cliente es la adecuada. En el modo cliente, el conductor se lanzó directamente dentro de la chispa-presente proceso, la cual actúa como un cliente para el clúster. La entrada y salida de la aplicación está conectada a la consola. Por lo tanto, este modo es especialmente adecuado para aplicaciones que involucran el REPL (por ejemplo, la Chispa de la shell).

    Alternativamente, si su solicitud es presentada de una máquina lejos de las máquinas de trabajadores (por ejemplo, localmente en su ordenador portátil), es común el uso de clúster de modo de minimizar la latencia de la red entre los conductores y los ejecutores. Tenga en cuenta que el modo de cluster server no es compatible actualmente para Mesos, grupos o aplicaciones Python.»

  3. 0

    Lo que acerca de HADR?

    • En modo de clúster, el HILO, se reinicia el controlador sin matar a los ejecutores.
    • En modo cliente, el HILO automáticamente mata a todos los ejecutores si su controlador está muerto.

Dejar respuesta

Please enter your comment!
Please enter your name here