Tutorial de HDFS: Introducción a HDFS y sus características
Tutorial de HDFS
Antes de seguir adelante en este blog de tutoriales de HDFS, permítame explicarle algunas de las locas estadísticas relacionadas con HDFS:
- En 2010, Facebook afirmó tener uno de los clústeres HDFS más grandes que almacena 21 petabytes de datos.
- En 2012, Facebook declaró que tiene el clúster HDFS más grande con más de 100 PB de datos .
- Y Yahoo ! tiene más de 100.000 CPU en más de 40.000 servidores que ejecutan Hadoop, y su clúster de Hadoop más grande ejecuta 4.500 nodos . En total, Yahoo! almacena 455 petabytes de datos en HDFS.
- De hecho, en 2013, la mayoría de los grandes nombres de Fortune 50 comenzaron a usar Hadoop.
¿Demasiado difícil de digerir? Derecha. Como se discutió en Tutorial Hadoop, Hadoop tiene dos unidades fundamentales – S LMACENAMIENTO y procesamiento . Cuando digo que el almacenamiento es parte de Hadoop, me refiero a HDFS, que significa Hadoop Distributed File System . Entonces, en este blog, les presentaré HDFS .
Aquí, estaré hablando de:
- ¿Qué es HDFS?
- Ventajas de HDFS
- Características de HDFS
Antes de hablar de HDFS, déjeme decirle, ¿qué es un sistema de archivos distribuido?
DFS o sistema de archivos distribuido:
El sistema de archivos distribuido habla de la gestión de datos , es decir, archivos o carpetas en varios ordenadores o servidores.En otras palabras, DFS es un sistema de archivos que nos permite almacenar datos en múltiples nodos o máquinas en un clúster y permite que múltiples usuarios accedan a los datos. Entonces, básicamente, tiene el mismo propósito que el sistema de archivos que está disponible en su máquina, como para Windows tiene NTFS (New Technology File System) o para Mac tiene
HFS (Hierarchical File System). La única diferencia es que, en el caso del sistema de archivos distribuido, los datos se almacenan en varias máquinas en lugar de en una sola. Aunque los archivos se almacenan en la red, DFS organiza y muestra los datos de tal manera que un usuario sentado en una máquina sentirá que todos los datos están almacenados en esa misma máquina.
¿Qué es HDFS?
El sistema de archivos distribuido de Hadoop o HDFS es un sistema de archivos distribuido basado en Java que le permite almacenar grandes datos en varios nodos en un clúster de Hadoop. Entonces, si instala Hadoop, obtiene HDFS como un sistema de almacenamiento subyacente para almacenar los datos en el entorno distribuido.
Tomemos un ejemplo para entenderlo. Imagine que tiene diez máquinas o diez computadoras con un disco duro de 1 TB en cada máquina. Ahora, HDFS dice que si instala Hadoop como plataforma sobre estas diez máquinas, obtendrá HDFS como servicio de almacenamiento. El sistema de archivos distribuido de Hadoop se distribuye de tal manera que cada máquina aporta su almacenamiento individual para almacenar cualquier tipo de datos.
Tutorial de HDFS: ventajas de HDFS
- Almacenamiento distribuido:
Cuando acceda al sistema de archivos distribuido de Hadoop desde cualquiera de las diez máquinas del clúster de Hadoop, se sentirá como si hubiera iniciado sesión en una única máquina grande que tiene una capacidad de almacenamiento de 10 TB (almacenamiento total en diez máquinas). ¿Qué significa? Significa que puede almacenar un solo archivo grande de 10 TB que se distribuirá entre las diez máquinas (1 TB cada una). Por lo tanto, no se limita a los límites físicos de cada máquina individual. - Computación distribuida y paralela:
Debido a que los datos se dividen entre las máquinas, nos permite aprovechar la computación distribuida y paralela . Entendamos este concepto con el ejemplo anterior. Supongamos que se necesitan 43 minutos para procesar un archivo de 1 TB en una sola máquina. Entonces, ahora dígame, ¿cuánto tiempo tomará procesar el mismo archivo de 1 TB cuando tiene 10 máquinas en un clúster Hadoop con una configuración similar: 43 minutos o 4,3 minutos? 4,3 minutos, ¡cierto! ¿Que pasó aquí? Cada uno de los nodos está trabajando con una parte del archivo de 1 TB en paralelo. Por lo tanto, el trabajo que tomaba 43 minutos antes, se termina en solo 4,3 minutos ahora, ya que el trabajo se dividió en diez máquinas. - Escalabilidad horizontal:
Por último, pero no menos importante, hablemos sobre el escalado horizontal o el escalado horizontal en Hadoop. Hay dos tipos de escalado: vertical y horizontal . En el escalado vertical (escalado), aumenta la capacidad de hardware de su sistema. En otras palabras, obtiene más RAM o CPU y lo agrega a su sistema existente para hacerlo más robusto y poderoso. Pero existen desafíos asociados con el escalado vertical o el escalado:- Siempre hay un límite al cual puede aumentar la capacidad de su hardware. Por lo tanto, no puede seguir aumentando la RAM o la CPU de la máquina.
- En el escalado vertical, primero detiene su máquina. Luego, aumenta la RAM o la CPU para convertirla en una pila de hardware más robusta. Una vez que haya aumentado la capacidad de su hardware, reinicie la máquina. Este tiempo de inactividad cuando detiene su sistema se convierte en un desafío.
En caso de escalado horizontal (escalamiento horizontal) , agrega más nodos al clúster existente en lugar de aumentar la capacidad de hardware de las máquinas individuales. Y lo más importante, puede agregar más máquinas sobre la marcha, es decir, sin detener el sistema. Por lo tanto, mientras escalamos, no tenemos ningún tiempo de inactividad ni zona verde, nada de ese tipo. Al final del día, tendrá más máquinas trabajando en paralelo para cumplir con sus requisitos.
Video tutorial de HDFS:
Puede ver el video que se muestra a continuación, donde se han discutido en detalle todos los conceptos relacionados con HDFS:
Tutorial de HDFS: características de HDFS
Comprenderemos estas características en detalle cuando exploremos la arquitectura HDFS en nuestro próximo blog tutorial de HDFS. Pero, por ahora, tengamos una descripción general de las características de HDFS:
- Costo: el HDFS, en general, se implementa en un hardware básico como su computadora de escritorio / computadora portátil que usa todos los días. Entonces, es muy económico en términos del costo de propiedad del proyecto. Dado que estamos utilizando hardware básico de bajo costo, no necesita gastar una gran cantidad de dinero para escalar su clúster de Hadoop. En otras palabras, agregar más nodos a su HDFS es rentable.
- Variedad y volumen de datos: cuando hablamos de HDFS, hablamos de almacenar datos enormes, es decir, terabytes y petabytes de datos y diferentes tipos de datos. Por lo tanto, puede almacenar cualquier tipo de datos en HDFS, ya sean estructurados, no estructurados o semiestructurados.
- Confiabilidad y tolerancia a fallas: cuando almacena datos en HDFS, internamente divide los datos dados en bloques de datos y los almacena de manera distribuida en su clúster de Hadoop. La información sobre qué bloque de datos se encuentra en cuál de los nodos de datos se registra en los metadatos. NameNode administra los metadatos y los DataNodes son responsables de almacenar los datos.
El nodo de nombre también replica los datos, es decir, mantiene múltiples copias de los datos. Esta replicación de los datos hace que HDFS sea muy confiable y tolerante a fallas. Entonces, incluso si alguno de los nodos falla, podemos recuperar los datos de las réplicas que residen en otros nodos de datos. Por defecto, el factor de replicación es 3. Por lo tanto, si almacena 1 GB de archivo en HDFS, finalmente ocupará 3 GB de espacio. El nodo de nombre actualiza periódicamente los metadatos y mantiene coherente el factor de replicación. - Integridad de los datos: la integridad de los datos habla de si los datos almacenados en mi HDFS son correctos o no. HDFS comprueba constantemente la integridad de los datos almacenados con su suma de comprobación. Si encuentra alguna falla, informa al nodo de nombre al respecto. Luego, el nodo de nombre crea nuevas réplicas adicionales y, por lo tanto, elimina las copias dañadas.
- Alto rendimiento: el rendimiento es la cantidad de trabajo realizado en una unidad de tiempo. Habla de la rapidez con la que puede acceder a los datos desde el sistema de archivos. Básicamente, le da una idea del rendimiento del sistema. Como ha visto en el ejemplo anterior, en el que utilizamos diez máquinas en conjunto para mejorar la computación. Allí pudimos reducir el tiempo de procesamiento de 43 minutos a solo 4,3 minutos ya que todas las máquinas estaban trabajando en paralelo. Por lo tanto, al procesar datos en paralelo, disminuimos enormemente el tiempo de procesamiento y, por lo tanto, logramos un alto rendimiento.
- Localidad de datos: la localidad de datos habla de mover la unidad de procesamiento a los datos en lugar de los datos a la unidad de procesamiento. En nuestro sistema tradicional, solíamos llevar los datos a la capa de aplicación y luego procesarlos. Pero ahora, debido a la arquitectura y al gran volumen de datos, llevar los datos a la capa de aplicación reducirá notablemente el rendimiento de la red . Entonces, en HDFS, llevamos la parte de cálculo a los nodos de datos donde residen los datos. Por lo tanto, no está moviendo los datos, está trayendo el programa o la parte de proceso a los datos.
- ¿Qué sucede detrás de escena cuando lee o escribe datos en Hadoop Distributed File System?
- ¿Cuáles son los algoritmos como el reconocimiento de rack que hacen que HDFS sea tan tolerante a fallas?
- ¿Cómo Hadoop Distributed File System administra y crea réplicas?
- ¿Qué son las operaciones de bloque?
Así que ahora tienes una breve idea sobre HDFS y sus características. Pero créanme chicos, esto es solo la punta del iceberg. En mi próximo blog tutorial de HDFS, profundizaré en la arquitectura HDFS y desvelaré los secretos detrás del éxito de HDFS. Juntos estaremos respondiendo a todas aquellas preguntas que están ponderando en tu cabeza tales como:
Ahora que ha entendido HDFS y sus características, consulte la formación de Hadoop de Pentademy, 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 Pentademy 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 comercio minorista, redes sociales, aviación, turismo y finanzas.
Comentarios
Los comentarios han sido cerrados