Una cuestión importante que se plantea cualquier administrador de sistema cuando Hadoop aparece en su vida es como este resuelve los problemas típicos, problemas como:
- Errores Hardware: datos corruptos en disco, rotura de un disco o nodo, error en un rack
- Error de Usuario o Aplicación: borrado accidental, escrituras corruptas,…
- Problemas en el CPD: caída temporal y permanente
- Errores en HDFS
- Problemas en el NameNode
Hagamos un repaso:
Datos corruptos en disco
- En HDFS para cada bloque se almacena un metadato con el checksum
- Si el checksum no coincide el Name Node este descarta el bloque y lo reemplaza con una copia nueva
- El NameNode puede copiar los metadatos en diferentes copias y en diferentes filesystems, además de hacer backups
Rotura de disco o nodo
- La replicación síncrona en HDFS además de la copia al nodo local permite hacer 2 réplicas en diferentes nodos, por lo que si se rompe un nodo sigue estándo en 2 nodos.
- Los errores HW se detectan por la pérdida del heartbeat
- HDFS automáticamente re-replica los bloques que no tienen 3 réplicas de forma periódica.
Rotura de Rack
- Configurar al menos 3 réplicas dando a Hadoop la información del rack
- Si se da la información del rack Hadoop siempre hace la tercera réplica en un rack diferente
- Esta tercera réplica nos da tiempo para solucionar el problema sin perder servicio.
Errores de aplicación y usuario
- Permisos: usuarios sólo deben tener acceso a sus ficheros
- Cuotas: limitar el tamaño por directorio
- Trash server: cuando se habilita los ficheros borrados van aquí, tiene un intervalo de borrado (fs.trash.interval)
Dañado Sistema de Archivos HDFS
Hadoop ofrece un comando para cuando el sistema local de archivos ext3 o ext4 se ha dañado, el comando hdfs fsck permite repararlo.
El comando hdfs fsck determina qué archivos contienen bloques corruptos, y da opciones acerca de cómo solucionarlo.
Sin embargo, HDFS fsck sólo opera con datos (DataNodes), no con metadatos.
Problemas en el NameNode
La función del NameNode es almacenar metadatos, los metadatos son "datos sobre datos", tales como los propietarios de los archivos, los bits de permiso, y demás.
El HDFS almacena sus metadatos en el NameNode en dos lugares principales: la FSImage, y el registro de edición (Edit Log).
- Configurar el NameNode para que almacene múltiples copias de sus metadatos es una buena práctica. Al almacenar dos copias del registro de edición (Edit Log) y FSImage, en dos discos duros separados, un buen administrador de sistemas puede evitar que se caiga el NameNode si uno de los discos falla.
- NameNode Recovery (hadoop namenode -recover) es un proceso offline que puede ejecutar un administrador para recuperar un registro de edición dañado. Esto puede ser muy útil para detectar eficientemente sistemas de ficheros corruptos.
- Hasta Hadoop 2 el NameNode era un SPOF (Single Point of Failure):
En Hadoop 2 se soluciona este problema con el Standy Namenode dotando de HA al NameNode:
- Además de esto desde es recomendable configurar el Backup Node que mantiene una configuración sincronizada del NameNode en memoria.



Deja un comentario