Zookeeper y fiabilidad hbase

Video: LOS 10 AUTOS QUE MENOS VISITAN EL TALLER

Zookeeper es un grupo distribuido de servidores que proporciona colectivamente servicios de coordinación y sincronización fiables para aplicaciones en clúster. Es cierto que el nombre de “Zookeeper” puede parecer a primera vista una elección extraña, pero cuando se comprende lo que hace para un clúster HBase, se puede ver la lógica detrás de él. Cuando usted está construyendo y depurar aplicaciones distribuidas “Es un zoológico ahí fuera”, por lo que debe poner Zookeeper en su equipo.

HBase racimos pueden ser enormes y coordinar las operaciones de los MasterServers RegionServers, y los clientes puede ser una tarea desalentadora, pero ahí es donde entra en escena Zookeeper. Al igual que en HBase, grupos Zookeeper normalmente se ejecutan en servidores x86 de materias primas de bajo costo.

Cada servidor x86 individuo corre un único proceso de software Zookeeper (de aquí en adelante como un servidor Zookeeper), con un servidor Zookeeper elegido por el conjunto como el líder y el resto de los servidores son seguidores. Zookeeper conjuntos se rigen por el principio de un quórum de la mayoría.

Video: La fiabilidad de las fuentes

Las configuraciones con un servidor Zookeeper son compatibles con fines de prueba y desarrollo, pero si quieres un grupo confiable que puede tolerar el fallo del servidor, es necesario desplegar al menos tres servidores Zookeeper para lograr el quórum de la mayoría.

Por lo tanto, el número de servidores Zookeeper se necesita? Cinco es el mínimo recomendado para su uso en producción, pero que realmente no quieren ir con el mínimo. Cuando usted decide planear su conjunto Zookeeper, siga esta sencilla fórmula: 2F + 1 = N, donde M es el número de fallos que puede aceptar en su clúster Zookeeper y N es el número total de servidores del guardián debe implementar.

Cinco es recomendable porque un servidor puede ser cerrado por mantenimiento, pero el cúmulo Zookeeper todavía puede tolerar una falla en el servidor.

Zookeeper proporciona coordinación y sincronización con lo que llama znodes, las cuales se presentan como un árbol de directorios y se asemejan a los nombres de ruta de archivo que se ven en un sistema de archivos de Unix. Znodes hacer almacenar datos, pero no hay mucho que hablar - en la actualidad menos de 1 MB por defecto.

La idea aquí es que Zookeeper almacena en la memoria znodes y que estos znodes basados ​​en memoria proporcionan un acceso rápido para el cliente coordinación, el estado, y otras funciones vitales que requieren las aplicaciones distribuidas como HBase. Zookeeper replica znodes a través del conjunto de servidores por lo que si fallan, los datos znode está todavía disponible, siempre y cuando el quórum mayoría de los servidores está todavía en marcha y funcionando.

Otra de las preocupaciones primarias concepto Zookeeper cómo lee znode (frente a las escrituras) se manejan. Cualquier servidor puede manejar Zookeeper lee de un cliente, incluyendo el líder, pero sólo los problemas líder atómico znode escribe - escribe que cualquiera tenga éxito completo o fallar por completo.

Cuando una petición de escritura znode llega al nodo líder, el líder transmite la solicitud de escritura a los nodos de seguidores y espera a que la mayoría de los seguidores de reconocer znode escritura completa. Después de la confirmación, el líder emite el znode misma escritura e informa del estado de finalización exitosa para el cliente.

Video: HBase Architecture | HBase Tutorial For Beginners

Znodes proporcionan algunas garantías muy potentes. Cuando un cliente Zookeeper (tales como HBase RegionServer) escribe o lee un znode, la operación es atómico. Tiene éxito ya sea totalmente o completamente no - hay ningún lee o escribe parcial.

Ningún otro cliente de la competencia puede hacer que la operación de lectura o escritura falle. Además, un znode tiene una lista de control de acceso (ACL) asociados a ella para la seguridad, y es compatible con las versiones, marcas de tiempo y la notificación a los clientes cuando cambia.

Video: Introduction to Hadoop Zookeeper | Edureka

Zookeeper replica znodes a través del conjunto de servidores por lo que si fallan, los datos znode está todavía disponible, siempre y cuando el quórum mayoría de los servidores está todavía en marcha y funcionando. Esto significa que escribe en cualquier znode desde cualquier servidor Zookeeper debe ser propagado en todo el conjunto. El líder Zookeeper gestiona esta operación.

Este enfoque de escritura znode puede causar seguidores que caen por detrás del líder por períodos cortos. Zookeeper resuelve este problema potencial al proporcionar un comando de sincronización. Los clientes que no pueden tolerar esta falta de sincronización temporal dentro de la agrupación Zookeeper pueden decidir emitir un comando de sincronización antes de leer znodes.

Artículos Relacionados