Spark + zookeeper construcción de clúster de alta disponibilidad

Despliegue de alta disponibilidad de Spark

1. Instrucciones de implementación de alta disponibilidad

El clúster Spark Standalone es un modo de clúster de la arquitectura Master-Slaves. Al igual que la mayoría de los clústeres Master-Slaves, hay un único punto de falla de Master. Cómo resolver este problema, Spark proporciona dos soluciones:

(1) Recuperación de un solo nodo con sistema de archivos local basado en el sistema de archivos . Utilizado principalmente para desarrollo o entorno de prueba. Cuando Spark proporciona un directorio para guardar la información de registro de la aplicación Spark y los trabajadores. Escriba su estado de recuperación en este directorio. En este momento, una vez que el maestro falla, puede restaurar la información registrada de la aplicación y el trabajador de Spark en ejecución reiniciando el proceso maestro (start-master.sh).

(2) Standby Master basado en zookeeper . Utilizado en modo de producción, el principio básico es elegir un maestro a través de Zookeeper, el otro maestro está en estado de espera, conectar el grupo de chispas a la misma instancia de Zookeeper e iniciar un maestro, utilizando las funciones de elección y preservación de estado proporcionadas por zookeeper Un maestro es elegido como maestro vivo, y los otros maestros están en estado de espera. Si el maestro actual muere, se puede elegir otro y restaurarlo al antiguo estado maestro, y luego reanudar la programación.El proceso de restauración completo puede demorar de 1 a 2 minutos.

 

2. Modificar el archivo de configuración

vim spark-env.sh

# 1. Instale Zookeeper 

# 2. Modifique el archivo spark-env.sh y agregue la siguiente configuración. 

Comente lo siguiente: 

# SPARK_MASTER_HOST = hadoop102 / comente la IP del nodo maestro, porque el maestro de la implementación de alta disponibilidad se ha cambiado 

# SPARK_MASTER_PORT = 7077 

agregado Lo siguiente:

  export SPARK_DAEMON_JAVA_OPTS = "

  -Dspark.deploy.recoveryMode = ZOOKEEPER

  -Dspark.deploy.zookeeper.url = hdp01, hdp02, hdp03 // Rellene la IP del clúster del zookeeper autónomo, solo necesita completar uno aquí

  -Dspark.deploy.zookeeper.dir = / spark "

  Descripción del parámetro;

    (1) recoveryMode, modo de recuperación (modo de reinicio maestro)

      Hay tres tipos: Zookeeper, FileSystem, None

    (2) deploy.zookeeper.url, la dirección del servidor de Zookeeper

    (3) deploy.zookeeper.dir, archivos y directorios para almacenar información de metadatos del clúster.

    Incluyendo trabajador, conductor, aplicación.

    Nota:

    Para iniciar el clúster en modo normal, solo necesita ejecutar start-all.sh en el host.

    Para iniciar un grupo de chispas en modo de alta disponibilidad, primero debe iniciar el comando start-all.sh en cualquier nodo. Luego, inicie el maestro por separado en otro nodo.

Verifique el grupo de chispas: aparece el trabajador, hdp02 se inicia con éxito

Inicie el maestro de hdp02 por separado

El maestro se inicia correctamente, verifique en la interfaz de usuario web qué maestro está vivo

Verificación de alta disponibilidad, cierre el maestro del nodo hdp01, ¿puede iniciar automáticamente el nodo maestro del hdp02?

¡El clúster de alta disponibilidad spark + zookeeper se ha creado con éxito!

Supongo que te gusta

Origin www.cnblogs.com/phy2020/p/12723547.html
Recomendado
Clasificación