Cuidador del zoológico apache y bases de datos nosql

Un gran grupo de bases de datos NoSQL es una cosa difícil de manejar de manejar. Apache Zookeeper al rescate! Hacer un seguimiento de qué nodos están en el clúster, lo que es la gestión de los datos de cada uno, y asegurando que los nuevos maestros se seleccionan cuando un maestro falla no son tareas fáciles.

La coordinación de grandes sistemas distribuidos es, por lo tanto, muy difícil. Tanto Hadoop y bases de datos NoSQL distribuidos necesitan una forma de gestionar la configuración de todo un clúster. Este proceso también tiene que ser altamente disponible de modo que no es el punto único de fallo en el sistema general.

Aquí es donde entra en juego Apache Zookeeper. Zookeeper proporciona una distribuida, servicio de coordinación transaccionalmente coherente.

Varios otros productos utilizan Zookeeper para la gestión de clusters:

  • Apache Hadoop

  • Nube Solr

  • Neo4j

  • Accumulo

  • HBase

  • Rackspace

  • Zynga

  • Yahoo! (para varios de sus servicios)

Video: Tutorial Fundamentos de la programación : Bases de datos orientadas a objetos | video2brain

Zookeeper proporciona una estructura jerárquica de almacenamiento en memoria que es similar a un sistema de archivos del ordenador. Esta estructura es administrado por el maestro Zookeeper actual y replicado entre los otros nodos de la agrupación. Un clúster Zookeeper se llama una Zookeeper minsemble.

Sólo el maestro gestiona las actualizaciones (escribe) a almacenamiento. Estos cambios se hacen checkpoints en el disco para que sean durables y luego replicado en las otras instancias del guardián en el conjunto.

Video: Definicion de la Base de Datos Apache Cassandra

Estos servicios almacenan sus datos de configuración del clúster en Zookeeper. Algunos de ellos almacenar los rangos de teclado para fragmentos de su base de datos, también. Esto permite a los clientes que están utilizando una base de datos NoSQL que utiliza Zookeeper para comunicarse con cualquier servidor Zookeeper en el conjunto. De esta manera, los clientes pueden descubrir qué servidores NoSQL contienen los datos que les interesa.

Mirando hacia arriba qué nodo tiendas que rango de teclas minimiza la carga en los servidores de NoSQL, debido a que no es necesario para reenviar las solicitudes de datos de un nodo NoSQL al nodo que lleva a cabo realmente los datos.

También puede utilizar el almacenamiento de datos de Zookeeper para el almacenamiento efímera (almacenamiento que no durará más allá de un reinicio del servicio), que es útil para el almacenamiento de sesión u otros datos en tiempo de ejecución.

Zookeeper servidores utilizan este almacenamiento efímera para determinar quién se hace cargo si falla un maestro. Cada servidor crea un znode efímera numerada (archivo de almacenamiento) en el espacio de claves. Si el maestro Zookeeper (líder) sufre un fallo de hardware, entonces el dueño de la próxima znode en la secuencia se convierte en el maestro. Esta es una solución elegante y evita el efecto “manada”, donde todos los servidores se comunican frenéticamente entre sí por unos segundos para seleccionar un nuevo maestro.

Video: Base de datos Redis part 2

Zookeeper es una gran solución de Java a los problemas inherentes a los sistemas de gestión coordinada y alta disponibilidad. Se puede utilizar para implementar servicios altamente disponibles, incluidos los servicios de mensajería. Por lo tanto, si necesita crear un nuevo servicio distribuido, considere el uso de Guardián.

Artículos Relacionados