¿Cómo maneja Namenode la falla de Datanode en el sistema de archivos distribuido de Hadoop?

El sistema de archivos Hadoop es un sistema de archivos maestro/esclavo en el que Namenode funciona como maestro y Datanode como esclavo. Namenode es un término tan crítico para el sistema de archivos Hadoop porque actúa como un componente central de HDFS. Si Namenode se cae, todo el clúster de Hadoop es inaccesible y se considera muerto. Datanode almacena datos reales y funciona según las instrucciones de Namenode. Un sistema de archivos Hadoop puede tener varios Nodes de datos, pero solo un Namenode activo.

Datanode and Namenode

Operaciones básicas de Namenode:

  • Namenode mantiene y administra los Nodes de datos y les asigna la tarea.
  • Namenodde no contiene datos reales de archivos.
  • Namenode almacena metadatos de datos reales como nombre de archivo, ruta, número de bloques de datos, ID de bloque, ubicación de bloque, número de réplicas y otra información relacionada con esclavos.
  • Namenode gestiona todas las requests (lectura, escritura) del cliente para el archivo de datos real.
  • Namenode ejecuta operaciones de espacio de nombres del sistema de archivos, como abrir/cerrar archivos, renombrar archivos y directorios.

Operaciones básicas de Datanode:

  • Datanodes es responsable de almacenar los datos reales.
  • Siguiendo las instrucciones de Namenode, realiza operaciones como creación/replicación/eliminación de bloques de datos.
  • Cuando uno de los Nodes de datos se cae, no tendrá ningún efecto en el clúster de Hadoop debido a la replicación .
  • Todos los Datanodes están sincronizados en el clúster de Hadoop de manera que puedan comunicarse entre sí para diversas operaciones.

¿Qué sucede si uno de los Nodes de datos falla en HDFS?

Namenode recibe periódicamente un latido y un informe de bloque de cada Datanode en el clúster. Cada Datanode envía un mensaje de latido cada 3 segundos a Namenode. El informe de salud es solo información sobre un Datanode en particular que funciona correctamente o no. En otras palabras, podemos decir que Datanode en particular está vivo o no.
Un informe de bloque de un Node de datos en particular contiene información sobre todos los bloques que residen en el Node de datos correspondiente. Cuando Namenode no recibe ningún mensaje de latido durante 10 minutos(Por defecto) de un Datanode en particular, el Datanode correspondiente se considera muerto o fallido por Namenode. Dado que los bloques no estarán replicados, el sistema inicia el proceso de replicación de un Datanode a otro tomando toda la información del bloque del informe de bloques del Datanode correspondiente. Los datos para la replicación se transfieren directamente de un Datanode a otro sin que los datos pasen por Namenode.

Publicación traducida automáticamente

Artículo escrito por Rohit_prasad y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *