Descripción general de Hadoop 2.0 Cluster Architecture Federation



Apache Hadoop 2.x consta de mejoras significativas sobre Hadoop 1.x. Este blog habla sobre Hadoop 2.0 Cluster Architecture Federation y sus componentes.

Federación de arquitectura de clúster Hadoop 2.0

Introducción:

En este blog, profundizaré en Hadoop 2.0 Cluster Architecture Federation. Apache Hadoop ha evolucionado mucho desde el lanzamiento de Apache Hadoop 1.x. Como saben por mi blog anterior, el sigue la topología maestro / esclavo donde NameNode actúa como un demonio maestro y es responsable de administrar otros nodos esclavos llamados DataNodes. En este ecosistema, este único Master Daemon o NameNode se convierte en un cuello de botella y, por el contrario, las empresas necesitan tener NameNode, que es altamente disponible. Esta misma razón se convirtió en la base de la arquitectura de federación HDFS y Arquitectura HA (alta disponibilidad) .

Los temas que he cubierto en este blog son los siguientes:





  • La arquitectura HDFS actual
  • Limitaciones de la arquitectura HDFS actual
  • Arquitectura de federación HDFS

Descripción general de la arquitectura HDFS actual:

Arquitectura HDFS de espacio de nombres único: descripción general de Hadoop 2.0 Cluster Architecture Federation - Edureka

Como puede ver en la figura anterior, el HDFS actual tiene dos capas:



  • Espacio de nombres HDFS (NS): Esta capa se encarga de administrar los directorios, archivos y bloques. Proporciona todas las operaciones del sistema de archivos relacionadas con el espacio de nombres, como crear, eliminar o modificar archivos o directorios de archivos.
  • Capa de almacenamiento: Consta de dos componentes básicos.
    1. Gestión de bloques : Realiza las siguientes operaciones:
      • Comprueba periódicamente los latidos de DataNodes y gestiona la pertenencia de DataNode al clúster.
      • Administra los informes de bloques y mantiene la ubicación del bloque.
      • Admite operaciones de bloque como creación, modificación, eliminación y asignación de ubicación de bloque.
      • Mantiene el factor de replicación consistente en todo el clúster.

2. Almacenamiento físico : Está gestionado por DataNodes, que son responsables de almacenar datos y, por lo tanto, proporciona acceso de lectura / escritura a los datos almacenados en HDFS.

Por lo tanto, la arquitectura HDFS actual le permite tener un solo espacio de nombres para un clúster. En esta arquitectura, un solo NameNode es responsable de administrar el espacio de nombres. Esta arquitectura es muy conveniente y fácil de implementar. Además, proporciona la capacidad suficiente para satisfacer las necesidades del pequeño grupo de producción.

roles y responsabilidades de administrador de Linux

Limitaciones de HDFS actual:

Como se discutió anteriormente, el HDFS actual fue suficiente para las necesidades y casos de uso de un pequeño clúster de producción. Pero grandes organizaciones como Yahoo, Facebook encontraron algunas limitaciones a medida que el clúster HDFS crecía exponencialmente. Echemos un vistazo rápido a algunas de las limitaciones:



  1. El espacio de nombres es no escalable como DataNodes. Por lo tanto, solo podemos tener esa cantidad de DataNodes en el clúster que un solo NameNode puede manejar.
  2. Las dos capas, es decir, la capa de espacio de nombres y la capa de almacenamiento, son estrechamente acoplado lo que dificulta mucho la implementación alternativa de NameNode.
  3. El rendimiento de todo el sistema Hadoop depende de la rendimiento del NameNode. Por lo tanto, el rendimiento completo de todas las operaciones HDFS depende de cuántas tareas pueda manejar NameNode en un momento determinado.
  4. NameNode almacena todo el espacio de nombres en la RAM para un acceso rápido. Esto conduce a limitaciones en términos de tamaño de la memoria es decir, el número de objetos de espacio de nombres (archivos y bloques) que un solo servidor de espacio de nombres puede hacer frente.
  5. Muchas de las organizaciones (proveedores) que tienen implementación de HDFS permiten que varias organizaciones (inquilinos) utilicen su espacio de nombres de clúster. Entonces, no hay separación de espacio de nombres y, por lo tanto, hay sin aislamiento entre las organizaciones de inquilinos que utilizan el clúster.

Arquitectura de federación HDFS:

  • En HDFS Federation Architecture, tenemos la escalabilidad horizontal del servicio de nombres. Por lo tanto, tenemos múltiples NameNodes que están federados, es decir, independientes entre sí.
  • Los DataNodes están presentes en la parte inferior, es decir, la capa de almacenamiento subyacente.
  • Cada DataNode se registra con todos los NameNodes del clúster.
  • Los DataNodes transmiten latidos periódicos, bloquean informes y manejan los comandos de los NameNodes.

La representación gráfica de la arquitectura de federación HDFS se muestra a continuación:

Antes de seguir adelante, permítanme hablar brevemente sobre la imagen arquitectónica anterior:

  • Hay varios espacios de nombres (NS1, NS2,…, NSn) y cada uno de ellos es administrado por su respectivo NameNode.
  • Cada espacio de nombres tiene su propio grupo de bloques (NS1 tiene el Grupo 1, NSk tiene el Grupo k y así sucesivamente).
  • Como se muestra en la imagen, los bloques del grupo 1 (azul cielo) se almacenan en DataNode 1, DataNode 2 y así sucesivamente. De manera similar, todos los bloques de cada grupo de bloques residirán en todos los DataNodes.

Ahora, comprendamos los componentes de la arquitectura de federación HDFS en detalle:

Piscina de bloque:

El grupo de bloques no es más que un conjunto de bloques que pertenecen a un espacio de nombres específico. Entonces, tenemos una colección de grupos de bloques donde cada grupo de bloques se administra de forma independiente del otro. Esta independencia en la que cada grupo de bloques se administra de forma independiente permite que el espacio de nombres cree ID de bloque para nuevos bloques sin la coordinación con otros espacios de nombres. Los bloques de datos presentes en todo el grupo de bloques se almacenan en todos los DataNodes. Básicamente, el grupo de bloques proporciona una abstracción de modo que los bloques de datos que residen en los DataNodes (como en la Arquitectura de espacio de nombres único) se pueden agrupar de acuerdo con un espacio de nombres en particular.

Volumen del espacio de nombres:

El volumen del espacio de nombres no es más que un espacio de nombres junto con su grupo de bloques. Por lo tanto, en HDFS Federation tenemos varios volúmenes de espacios de nombres. Es una unidad de gestión autónoma, es decir, cada volumen de espacio de nombres puede funcionar de forma independiente. Si se elimina un NameNode o un espacio de nombres, también se eliminará el grupo de bloques correspondiente que reside en los DataNodes.

Demostración de Hadoop 2.0 Cluster Architecture Federation | Edureka

Ahora, supongo que tiene una idea bastante clara sobre la arquitectura de federación HDFS. Es más un concepto teórico y la gente no lo usa en un sistema de producción práctico en general. Hay algunos problemas de implementación con HDFS Federation que dificultan la implementación. Por lo tanto, la Arquitectura HA (alta disponibilidad) se prefiere para resolver el problema de punto único de falla. He cubierto el HDFS HA Architecture en mi próximo blog.

que es tostring en java

Ahora que ha entendido la arquitectura de federación Hadoop HDFS, consulte la por Edureka, una empresa de aprendizaje en línea de confianza con una red de más de 250.000 alumnos satisfechos repartidos por todo el mundo. El curso de formación de certificación de Edureka Big Data Hadoop ayuda a los alumnos a convertirse en expertos en HDFS, Yarn, MapReduce, Pig, Hive, HBase, Oozie, Flume y Sqoop utilizando casos de uso en tiempo real en el dominio de Retail, Social Media, Aviación, Turismo, Finanzas.

Tienes una pregunta para nosotros? Menciónelo en la sección de comentarios y nos pondremos en contacto con usted.