Estos contenidos se han traducido de forma automática para su comodidad, pero Huawei Cloud no garantiza la exactitud de estos. Para consultar los contenidos originales, acceda a la versión en inglés.
Actualización más reciente 2023-04-14 GMT+08:00

Principios básicos de ZooKeeper

Descripción

ZooKeeper es un servicio de coordinación distribuido y de alta disponibilidad. ZooKeeper se utiliza para proporcionar las siguientes funciones:

  • Evita que el sistema reciba SPOFs y proporciona servicios confiables para las aplicaciones.
  • Proporciona servicios de coordinación distribuidos y gestiona la información de configuración.

Arquitectura

Los nodos de un clúster de ZooKeeper tienen tres funciones: Leader, Follower, y Observer, como se muestra en Figura 1. Generalmente, es necesario configurar un número impar de (2N+1) servicios de ZooKeeper en el clúster, y se requiere al menos (N+1) mayoría de votos para realizar con éxito la operación de escritura.

Figura 1 Arquitectura

Tabla 1 describe las funciones de cada módulo mostrado en Figura 1.

Tabla 1 Descripción de la arquitectura

Nombre

Descripción

Leader

Solo un nodo sirve como líder en un clúster de ZooKeeper. El Leader, elegido por los Followers utilizando el protocolo de ZooKeeper Atomic Broadcast (ZAB), recibe y coordina todas las solicitudes de escritura y sincroniza la información escrita con los Followers y Observers.

Follower

Follower tiene dos funciones:

  • Previene los SPOF. Un nuevo Leader es elegido de los Followers cuando el Leader es defectuoso.
  • Procesa solicitudes de lectura e interactúa con el Leader para procesar solicitudes de escritura.

Observer

El Observer no participa en la votación para la elección ni escribe solicitudes. Solo procesa solicitudes de lectura y reenvía solicitudes de escritura al Leader, lo que aumenta la eficiencia del procesamiento del sistema.

Client

Lee y escribe datos desde o hacia el clúster ZooKeeper. Por ejemplo, HBase puede servir como un cliente ZooKeeper y utilizar la función de arbitraje del clúster de ZooKeeper para controlar el estado activo/en espera de HMaster.

Si los servicios de seguridad están habilitados en el clúster, se requiere autenticación durante la conexión a ZooKeeper. Los modos de autenticación son los siguientes:

  • Modo de Keytab: necesita obtener un usuario humano-máquina del administrador del clúster de MRS para el inicio de sesión y autenticación de la consola de MRS, y obtener el archivo Keytab del usuario.
  • Modo de ticket: obtenga un usuario humano-máquina del administrador del clúster MRS para el inicio de sesión seguro posterior, active las funciones renovables y reenviables del servicio Kerberos, establezca el período de actualización de ticket y reinicie Kerberos y componentes relacionados.
    • Por defecto, el período de validez de la contraseña de usuario es de 90 días. Por lo tanto, el período de validez del archivo Keytab obtenido es de 90 días.
    • Los parámetros para habilitar las funciones renovables y reenviables y establecer el intervalo de actualización del ticket se encuentran en la pestaña System de la página de configuración del servicio Kerberos. El intervalo de actualización del ticket se puede establecer en kdc_renew_lifetime o kdc_max_renewable_life en función de la situación real.

Principios

  • Solicitudes de escritura
    1. Después de que el Follower o Observer recibe una solicitud de escritura, el Follower o Observer envía la solicitud al Leader.
    2. El Leader coordina a los Followers para determinar si acepta la solicitud de escritura mediante votación.
    3. Si más de la mitad de los votantes devuelven un mensaje de éxito de escritura, el Leader envía la solicitud de escritura y devuelve un mensaje de éxito. De lo contrario, se devuelve un mensaje de error.
    4. El Follower o Observer devuelve los resultados del procesamiento.
  • Solicitudes de solo lectura

    El cliente lee directamente los datos del Leader, Follower, o Observer.