Este artículo es para dar una breve introducción sobre Hadoop para aquellos que no saben casi nada sobre esta tecnología. Big Data está en la base de todas las megatendencias que están sucediendo hoy en día, desde las redes sociales hasta la nube, los dispositivos móviles y los juegos. Este artículo ayudará a construir la base para dar el siguiente paso en el aprendizaje de esta interesante tecnología.
Empecemos:
¿Qué es Big Data?
Desde la mejora de la tecnología, los datos han ido creciendo todos los días. Todos poseen gadgets hoy en día. Cada dispositivo inteligente genera datos. Una de las principales fuentes de datos son las redes sociales. Nosotros, siendo amor animal social compartir nuestros pensamientos, sentimientos con otros y las redes sociales, es la plataforma adecuada para la interacción con otros en todo el mundo.
La siguiente imagen muestra los datos generados por los usuarios en las redes sociales cada 60 segundos. Los datos se han generado de manera exponencial a través de estas fuentes.
La siguiente imagen muestra el Tráfico de datos móviles globales predicción por Cisco hasta 2020.
Término de Big Data utilizado para una colección de conjuntos de datos y complex que se vuelve difícil procesar utilizando herramientas de administración de bases de datos o aplicaciones de procesamiento de datos tradicionales.
Dependiendo de la industria y la organización, los macrodatos abarcan información de diversas fuentes internas y externas, como transacciones, redes sociales, contenido empresarial, sensores y dispositivos móviles, etc. Las empresas pueden aprovechar los datos para satisfacer las necesidades de sus clientes, optimizar sus productos, servicios y operaciones. Esta cantidad masiva de datos también puede ser utilizada por las compañías para encontrar nuevas fuentes de ingresos.
¿Cómo apareció Hadoop?
Estas enormes cantidades de datos generados son difíciles de almacenar y procesar usando el sistema de base de datos tradicional. El sistema de gestión de bases de datos tradicional se usa para almacenar y procesar relacional y estructurado solo datos. Sin embargo, en el mundo de hoy hay muchos datos no estructurados que se generan como imágenes, archivos de audio, videos; por lo tanto, el sistema tradicional no podrá almacenar y procesar este tipo de datos. La solución efectiva para este problema es Hadoop.
Hadoop es un marco para procesar Big Data. Es un marco que le permite almacenar y procesar conjuntos de datos grandes en paralelo y distribuir moda.
Hadoop Core Components:
Hay dos componentes principales de Hadoop: HDFS y MapReduce.
Hadoop Distributed File System (HDFS) se ocupa de la parte de almacenamiento de la arquitectura de Hadoop.
MapReduce es un modelo de procesamiento y un marco de software para escribir aplicaciones que se pueden ejecutar en Hadoop. Estos programas de MapReduce son capaces de procesar Big Data en paralelo en grandes grupos de nodos computacionales.
Hadoop: ¿Qué es HDFS y cuáles son sus componentes principales?
HDFS almacena archivos en muchos nodos de un clúster.
Hadoop sigue Arquitectura maestro-esclavo y, por lo tanto, HDFS es su componente principal que también sigue la misma arquitectura .
NameNode y DataNode son los componentes principales de HDFS:
NameNode:
- Mantiene y administra los DataNodes.
- Registros Metadatos es decir información sobre bloques de datos, p. ubicación de los bloques almacenados, el tamaño de los archivos, permisos, jerarquía, etc.
- Recibe el estado y el informe de bloqueo de todos los DataNodes.
DataNode:
- Demonios esclavos. Envía señales a NameNode.
- Tiendas actual Se almacena en bloques de datos.
- Sirve solicitudes de lectura y escritura de los clientes.
Nombre secundarioNodo:
- Esto es NO un NameNode de respaldo. Sin embargo, es un servicio separado que conserva una copia de los registros de edición (ediciones) y de la imagen del sistema de archivos (fsimage) y los combina para mantener el tamaño razonable del archivo.
- MetaData de NameNode es administrado por dos archivos: fsimage y edit logs .
- Fsimage : Este archivo contiene todas las modificaciones que ocurren en el espacio de nombres de Hadoop o HDFS cuando se inicia el NameNode. Se almacena en el disco local de la máquina NameNode.
- Editar registros: Este archivo contiene la modificación más reciente . Es un archivo pequeño comparativamente a la imagen fs. Se almacena en la RAM de la máquina NameNode.
- NameNode secundario realiza la tarea de Punto de control .
- Punto de control es el proceso de combinar registros de edición con fsimage ( edit logs + fsimage) .SNodent NameNode crea una copia de los registros de edición y fsimage del NameNode para crear imagen final como se muestra en la figura anterior.
- El punto de comprobación se realiza periódicamente. (predeterminado 1 hora).
¿Por qué se necesita el archivo fsimage final en NameNode secundario?
- Imagen final en el NameNode secundario permite una failover más rápida ya que evita que los registros de edición en NameNode se vuelvan demasiado grandes.
- archivo de registro nuevo en NameNode contiene todas las modificaciones / cambios que ocurren durante el checkinpointing. Es temporal.
¿Cómo se almacenan los datos en DataNodes? Bloques de datos HDFS.
Cada archivo se almacena en HDFS como bloques. El tamaño predeterminado de cada bloque es 128 MB en Apache Hadoop 2.x (64 MB en Apache Hadoop 1.x)
Después de que el archivo se divide en bloques de datos como se muestra en la figura siguiente, estos bloques de datos se distribuirá a través de todos los nodos de datos presentes en el clúster Hadoop.
¿Cuáles son las ventajas de HDFS y lo que lo hace ideal para distribuir sistemas?
- Fault Tolerance : cada uno de los bloques de datos se replica tres veces ((todo está almacenado en tres máquinas / DataNodes de forma predeterminada) en el clúster. Esto ayuda a proteger los datos contra la falla de DataNode (máquina).
- Espacio – Simplemente agregue más nodos de datos y reequilibre el tamaño si necesita más espacio en disco.
- Escalabilidad – A diferencia del sistema de base de datos tradicional que no puede escalar para procesar grandes conjuntos de datos, HDFS es altamente escalable porque puede almacenar y distribuir conjuntos de datos muy grandes en muchos nodos que pueden operar en paralelo.
- Flexibilidad – Puede almacenar cualquier tipo de datos, ya sea estructurados, semiestructurados o no estructurados.
- Rentable – HDFS tiene conexión directa almacenamiento y comparte el costo de la red y las computadoras con las que se ejecuta con MapReduce. También es un software de código abierto.
En el próximo artículo discutiremos sobre MapReduce otro componente principal de Hadoop. Estén atentos.
Gracias por leer y espero escuchar sus preguntas 🙂
Estén atentos y Feliz Hadooping!.
PD Si quiere aprender más sobre el mundo del Machine Learning, también puede seguirme en Instagram , encuéntreme en linkedin o en Facebook. Me encantaría saber de usted.