Tutorial de ZooKeeper: ¿Qué es? Architectura de Apache ZooKeeper

¿Qué es un sistema distribuido?

Una aplicación distribuida es una aplicación que puede ejecutarse en múltiples sistemas en una red. Se ejecuta simultáneamenteneonormalmente coordinándose para completar una determinada tarea. Estas tareas pueden requerir mucho hours para completar mediante cualquier aplicación no distribuida.

¿Qué es Zookeeper?

Apache Zookeeper es un servicio de coordinación distribuido de código abierto que ayuda a gestionar un gran conjunto de hosts. La gestión y coordinación en un entorno distribuido es complicada. Zookeeper automatiza este proceso y permite a los desarrolladores centrarse en crear funciones de software en lugar de preocuparse por su naturaleza distribuida.

Zookeeper le ayuda a mantener información de configuración, nombres y servicios de grupo para aplicaciones distribuidas. Implementa diferentes protocolos en el cluster por lo que la aplicación no debería implementarse por sí sola. Proporciona una vista única y coherente de múltiples máquinas.

¿Por qué Apache Zookeeper?

Aquí hay razones importantes detrás de la popularidad de Zookeeper:

  • Permite la exclusión mutua y la cooperación entre procesos del servidor
  • Garantiza que su aplicación se ejecute de manera consistente.
  • El proceso de transacción nunca se completa parcialmente. Se le asigna el estado de Éxito o Fracaso. El estado distribuido se puede retrasar, pero nunca está mal
  • Independientemente del servidor al que se conecte, un cliente podrá ver la misma vista del servicio.
  • Le ayuda a codificar los datos según el conjunto específico de reglas.
  • Ayuda a mantener un estándar hierarchiespacio de nombres cal similar a archivos y directorios
  • Computadoras, que funcionan como un sistema único que puede estar conectado local o geográficamente.
  • Permite Unirse/Salir de un nodo en un cluster y estado del nodo en tiempo real
  • Puede aumentar el rendimiento implementando más máquinas
  • Le permite elegir un nodo como líder para una mejor coordinación.
  • ZooKeeper funciona rápido con cargas de trabajo donde las lecturas de datos son más comunes que las escrituras.

guardián del zoológico Architectura: ¿Cómo funciona?

A continuación se ofrece una breve explicación sobre APACHE Zookeeper architectura:

  • Zookeeper sigue un Cliente-Servidor Architectura
  • Todos los sistemas almacenan una copia de los datos.
  • Los líderes se eligen al inicio
ArchiTecnología de ZooKeeper
ArchiTecnología de ZooKeeper

Servidor: El servidor envía un acuse de recibo cuando cualquier cliente se conecta. En el caso de que no haya respuesta del servidor conectado, el cliente redirige automáticamente el mensaje a otro servidor.

Cliente: El cliente es uno de los nodos de la aplicación distribuida. cluster. Le ayuda a acceder a la información del servidor. Cada cliente envía un mensaje al servidor a intervalos regulares que ayuda al servidor a saber que el cliente está vivo.

Líder: Uno de los servidores es designado Líder. Proporciona toda la información a los clientes, así como un reconocimiento de que el servidor está activo. Realizaría una recuperación automática si alguno de los nodos conectados fallara.

Seguidor: El nodo servidor que sigue las instrucciones del líder se denomina seguidor.

  • Las solicitudes de lectura del cliente son manejadas por el servidor Zookeeper conectado correspondientemente.
  • Las solicitudes de escritura del cliente son manejadas por el líder de Zookeeper.

Conjunto/Cluster: Grupo de servidores Zookeeper que se llama conjunto o Cluster. Puede utilizar la infraestructura de ZooKeeper en el cluster modo para tener el sistema en el valor óptimo cuando se ejecuta Apache.

Interfaz de usuario web de ZooKeeper: Si desea trabajar con la gestión de recursos de ZooKeeper, debe utilizar WebUI. Permite trabajar con ZooKeeper usando la interfaz de usuario web, en lugar de usar la línea de comando. Ofrece una comunicación rápida y efectiva con la aplicación ZooKeeper.

El modelo de datos de Zookeeper (ZDM)

Ahora, en este tutorial de ZooKeeper, aprendamos sobre el modelo de datos de Zookeeper. La siguiente figura explica el modelo de datos de Apache Zookeeper:

El modelo de datos de Zookeeper
Modelo de datos del cuidador del zoológico
  • El modelo de datos del cuidador del zoológico sigue un espacio de nombres jerárquico donde cada nodo se denomina ZNode. Un nodo es un sistema donde el cluster carreras.
  • Cada ZNode tiene datos. Puede o no tener hijos.
  • Rutas de nodos Z:
    • Canónico, separado por barras y absoluto
    • No utilizar referencias relativas.
    • Los nombres pueden tener caracteres Unicode
  • ZNode mantiene la estructura de estadísticas y el número de versión para cambios de datos.

Tipos de nodos de Zookeeper

Hay tres tipos de Znodes:

Persistencia znode: este tipo de znode está vivo incluso después de que el cliente que creó ese znode específico se desconecta. De forma predeterminada, en zookeeper, todos los nodos son persistentes si no se especifica.

Efímero znode: este tipo de znode guardián del zoológico está vivo hasta que el cliente está vivo. Por lo tanto, cuando el cliente se desconecta del cuidador del zoológico, también se eliminará. Además, a los nodos efímeros no se les permite tener hijos.

Secuencial znode: los znodes secuenciales pueden ser efímeros o persistentes. Entonces, cuando se crea un nuevo znode como un znode secuencial. Puede asignar la ruta del znode adjuntando un número de secuencia de 10 dígitos al nombre original.

ZDM-Relojes

Zookeeper, un evento de vigilancia es un activador único que se envía al cliente que establece la vigilancia. Ocurrió cuando cambian los datos de ese reloj. ZDM watch permite a los clientes recibir notificaciones cuando cambia znode. lectura ZDM operaciones como getData(), getChidleren(), existe y tiene la opción de configurar un reloj.

Los relojes están ordenados, el orden de los eventos de reloj corresponde al orden de las actualizaciones. Un cliente podrá ver un evento de observación para znode antes de ver los nuevos datos que corresponden a ese znode.

ZDM- Lista de control de acceso

Zookeeper utiliza ACL para controlar el acceso a sus znodes. ACL se compone de un par de (Esquema: identificación, permiso)

Construya en esquemas ACL:

mundo: tiene una sola identificación, cualquiera

autenticación: no utiliza ninguna identificación, representa cualquier usuario autenticado

resumen: use un nombre de usuario: contraseña

host: le permite utilizar el nombre de host del cliente como identidad de identificación de ACL

IP: use la dirección IP del host del cliente como identidad de identificación de ACL

Permisos de ACL:

  • CREAR
  • LEER
  • ESCRIBIR
  • BORRAR
  • ADMIN.

Ex. (IP: 192.168.0.0/16, LEER)

El ZKS: estados de sesión y duración

ZKS – Estados de sesión
ZKS – Estados de sesión
  • Antes de ejecutar cualquier solicitud, es importante que el cliente debe establecer una sesión con el servicio
  • Todos operaLas operaciones que los clientes envían al servicio se asocian automáticamente con una sesión.
  • El cliente podrá conectarse a cualquier servidor del cluster. Pero se conectará a un solo servidor.
  • La sesión proporciona “garantías de pedido”. Las solicitudes en la sesión se ejecutan en orden FIFO.
  • Los estados principales de una sesión son 1) Conectando, 2) Conectado 3) Cerrado 4) No conectado.

Cómo instalar ZooKeeper

Paso 1) Haga clic en Continuar para suscribirse
Ve a esto liga y haga clic en 'Continuar para suscribirse'

Instalar ZooKeeper

Paso 2) Aceptar los términos y condiciones
En la página siguiente, acepte el acuerdo de licencia.

Instalar ZooKeeper

Paso 3) Mensaje de agradecimiento mostrado
Verás lo siguientewing mensaje

Instalar ZooKeeper

Paso 4) Haga clic en Continuar para configurar
Actualice la página después de 5 minutos y continúe con la configuración.

Instalar ZooKeeper

Paso 5) Haga clic en 'Continuar para iniciar'
En la siguiente pantalla, inicie ZooKeeper

Instalar ZooKeeper

Paso 6) ¡Felicitaciones!
¡Estás listo!

Aplicaciones de Apache ZooKeeper

Apache Zookeeper usado para seguirwing propósitos:

  • Gestionando la configuración
  • servicios de nombres
  • Elegir al líder
  • Poniendo en cola los mensajes
  • Gestionar el sistema de notificaciones.
  • Synchronización
  • Repartido Cluster Administración

Empresas que utilizan Zookeeper

  • yahoo
  • Facebook
  • eBay
  • Twitter
  • Netflix
  • Zynga
  • Nutanix

Desventajas de usar Zookeeper

  • Puede ocurrir pérdida de datos si agrega nuevos servidores Zookeeper
  • No se permite la migración para los usuarios
  • No ofrecer soporte para la ubicación y el conocimiento del rack.
  • Zookeeper no le permite reducir la cantidad de pods para evitar la pérdida accidental de datos
  • No puede cambiar el servicio a la red de host sin una reinstalación completa cuando el servicio está implementado.yed en una red virtual
  • El servicio no admite cambios en los requisitos de volumen una vez finalizada la implementación inicial
  • hay grandes numbers del nodo involucrado, por lo que podría haber más de un punto de falla
  • Los mensajes se pueden perder en la red de comunicación, lo que requiere un software especial para recuperarlos nuevamente.

Resumen

  • Una aplicación distribuida es una aplicación que puede ejecutarse en múltiples sistemas en una red.
  • Apache Zookeeper es un servicio de coordinación distribuido de código abierto que le ayuda a gestionar un gran conjunto de hosts.
  • Permite la exclusión mutua y la cooperación entre procesos del servidor
  • Servidor, Cliente, Líder, Seguidor, Conjunto/Cluster, ZooKeeper WebUI son componentes importantes del cuidador del zoológico
  • Tres tipos de Znodes son de persistencia, efímeros y secuenciales.
  • La vigilancia ZDM es un activador único que se envía al cliente que establece la vigilancia. Ocurrió cuando los datos de ese reloj cambian.
  • Zookeeper Hadoop usa ACL para controlar el acceso a sus znodes
  • Gestionar la configuración, Servicios de nombres, seleccionar el líder, Poner en cola los mensajes, Gestionar el sistema de notificaciones, Synccronización, Distribuida Cluster Gestión, etc
  • Yahoo, Facebook, eBay, Twitter, Netflix son algunas empresas conocidas que utilizan zookeeper
  • El principal inconveniente de la herramienta es que puede producirse pérdida si agrega nuevos servidores Zookeeper.