sql >> Base de Datos >  >> NoSQL >> HBase

Introducción a la federación y arquitectura de HDFS

En este tutorial de Hadoop , le proporcionaremos una introducción completa de HDFS Federation. En este tutorial, discutiremos la arquitectura HDFS, las limitaciones de la arquitectura actual de HDFS.

Luego, cubriremos la arquitectura de la Federación HDFS en detalle junto con sus ventajas en el marco Hadoop.

¿Qué es la Federación HDFS?

Federación mejora un Hadoop HDFS existente arquitectura. La arquitectura HDFS anterior permite un espacio de nombres único para todo el clúster. En esa arquitectura, un solo NameNode administra el espacio de nombres.

Si NameNode falla, todo el clúster quedará fuera de servicio. Y el clúster no estará disponible hasta que NameNode se reinicie o se traiga a una máquina separada.

HDFS Federation se introdujo para superar esta limitación. Supera esto agregando soporte para muchos NameNode/Namespaces a HDFS.

Arquitectura HDFS actual

HDFS tiene dos capas principales que se detallan a continuación:

a) Espacio de nombres Esta capa administra archivos, directorios y bloques . Esta capa es compatible con la operación básica del sistema de archivos, como la creación y eliminación de archivos.

b) Almacenamiento en bloque Tiene dos partes-

  • Gestión de bloques:  Admite operaciones relacionadas con bloques, como la creación y eliminación de bloques. Administra los nodos de datos en el clúster y se encarga de la administración de la replicación.
  • Almacenamiento físico:  Esto almacena los bloques en el sistema de archivos local y proporciona acceso a la operación de lectura o escritura. Siga este enlace para aprender la operación de lectura y escritura de datos HDFS.

Este HDFS actual funciona bien para configuraciones más pequeñas. Pero, para las grandes organizaciones en las que debemos cuidar la gran cantidad de datos, tiene algunas limitaciones. La federación de Hadoop maneja esas limitaciones.

Limitación de la arquitectura HDFS actual

La limitación de la arquitectura HDFS actual se indica a continuación:

1. Espacio de nombres y almacenamiento de bloques estrechamente acoplados

Capa de espacio de nombres y  capa de almacenamiento están estrechamente acoplados. Hace que la implementación alternativa de namenode sea difícil. Y restringe otros servicios para usar almacenamiento en bloque.

2. Escalabilidad del espacio de nombres

El espacio de nombres no es escalable como datanode. El escalado en el clúster HDFS es horizontal mediante la adición de nodos de datos. Pero no podemos agregar más espacio de nombres a un clúster existente. Podemos escalar verticalmente el espacio de nombres en un solo nodo de nombre.

3. Rendimiento

El rendimiento completo de Hadoop depende del rendimiento del nodo de nombre. Una operación del sistema de archivos actual depende del rendimiento de un solo nodo de nombre. NameNode actualmente admite 60 000 tareas simultáneas.

Próximos MapReduce tendrá soporte para más de 1,00,000 tareas concurrentes. Y esto necesitará más namenode.

4. Aislamiento

No hay separación del espacio de nombres. Por lo tanto, no hay aislamiento entre las organizaciones de inquilinos que utilizan el clúster.

HDFSArquitectura de federación

La federación utiliza muchos Namenode/namespaces independientes para escalar el servicio de nombres horizontalmente. En HDFS Federation Architecture, en la parte inferior, están presentes los nodos de datos. Y los nodos de datos se utilizan como almacenamiento común para bloques por todos los nodos de nombre.

Cada nodo de datos se registra con todos los nodos de nombre del clúster. Estos nodos de datos envían latidos cardíacos periódicos, bloquean, informan y manejan comandos desde los nodos de nombre.

Muchos nodos de nombres (NN1, NN2…, NNn) administran muchos espacios de nombres (NS1, NS2…, NSn) respectivamente. Cada espacio de nombres tiene su propio grupo de bloques (NS1 tiene el grupo 1, etc.). El bloque del grupo 1 se almacena en el nodo de datos 1 y así sucesivamente.

1. Grupo de bloques

El conjunto de bloques es Grupo de bloques que pertenece a un único espacio de nombres. Hay una colección de grupos en la arquitectura de federación HDFS. Y cada bloque se gestiona desde el otro.

Esto permite que un espacio de nombres cree una ID de bloque para nuevos bloques sin coordinación con otro espacio de nombres. Todos los Datanodes almacenan bloques de datos presentes en todos los grupos de bloques.

2. Volumen de espacio de nombres

El espacio de nombres junto con su grupo de bloques es Volumen de espacio de nombres . Hay muchos volúmenes de espacio de nombres en la federación HDFS. Por lo tanto, cada volumen de espacio de nombres funciona de forma independiente. Cuando eliminamos el nodo de nombre o el espacio de nombres, también se eliminará el grupo de bloques correspondiente presente en los nodos de datos.

Beneficios de la federación HDFS

HDFS Federation supera las limitaciones de la arquitectura HDFS anterior. Por lo tanto, proporciona:

  • Aislamiento:  No hay aislamiento en un solo nodo de nombre en un entorno multiusuario. En la federación de HDFS, se pueden aislar diferentes categorías de aplicaciones y usuarios en diferentes espacios de nombres mediante el uso de muchos nodos de nombres.
  • Escalabilidad del espacio de nombres:  En la federación, muchos nodos de nombres se escalan horizontalmente en el espacio de nombres del sistema de archivos.
  • Rendimiento:  Podemos mejorar el rendimiento de las operaciones de lectura/escritura agregando más nodos de nombre.

Conclusión

En conclusión, HDFS Federation puede decir que supera la limitación de la arquitectura HDFS de un solo nodo. En la arquitectura HDFS anterior para un clúster completo solo se permite un espacio de nombres único. Mientras que Federation usa muchos Namenode/namespaces independientes para escalar el servicio de nombres horizontalmente.

También separa la capa de espacio de nombres y el almacenamiento capa. Por lo tanto, proporciona aislamiento, escalabilidad y diseño simple.

Si tiene alguna consulta o sugerencia relacionada con la Federación en Hadoop HDFS, háganoslo saber dejando un comentario.