Hadoop Distributed File System (HDFS)
HDFS
HDFS (Hadoop Distributed File System) es el sistema de almacenamiento principal utilizado por las aplicaciones de Hadoop. Este marco de código abierto funciona transfiriendo datos rápidamente entre nodos. A menudo es utilizado por empresas que necesitan manejar y almacenar grandes volúmenes de datos. HDFS es un componente clave de muchos sistemas Hadoop, ya que proporciona un medio para gestionar big data y apoyar el análisis de big data.
Hay muchas empresas en todo el mundo que usan HDFS, así que, ¿qué es exactamente y por qué es necesario? Analicemos en profundidad qué es HDFS y por qué puede ser útil para las empresas.
¿Qué es HDFS?
HDFS son las siglas de Hadoop Distributed File System (Sistema de archivos distribuido de Hadoop). HDFS funciona como un sistema de archivos distribuido diseñado para funcionar en hardware convencional.
HDFS soporta fallas y está diseñado para implementarse en hardware básico de bajo costo. HDFS proporciona un acceso de alto rendimiento a los datos de las aplicaciones y es adecuado para aplicaciones que tienen grandes conjuntos de datos y permite el acceso en tiempo real a los datos del sistema de archivos en Apache Hadoop.
Entonces, ¿qué es Hadoop? ¿Y en qué se diferencia de HDFS? Una diferencia fundamental entre Hadoop y HDFS es que Hadoop es el marco de código abierto que puede almacenar, procesar y analizar datos, mientras que HDFS es el sistema de archivos de Hadoop que proporciona acceso a los datos. Esto significa esencialmente que HDFS es un módulo de Hadoop.
Analicemos la arquitectura de HDFS:
Como podemos ver, se centra en NameNodes y DataNodes. El NameNode es el hardware que contiene el sistema operativo GNU/Linux y el software. El sistema de archivos distribuidos Hadoop actúa como servidor maestro y puede administrar los archivos, controlar el acceso de los clientes a los archivos y supervisar los procesos operativos de los archivos, como cambiarles el nombre, abrirlos y cerrarlos.
Un DataNode es un hardware que ejecuta el sistema operativo GNU/Linux y el software DataNode. Para cada nodo en un clúster HDFS, encontrarás un DataNode. Estos nodos ayudan a controlar el almacenamiento de datos de su sistema, ya que pueden realizar operaciones en los sistemas de archivos si el cliente lo solicita, y también crear, replicar y bloquear archivos cuando el NameNode lo indica.
El significado y propósito del HDFS es alcanzar los siguientes objetivos:
- Administrar grandes conjuntos de datos: organizar y almacenar conjuntos de datos puede ser una tarea difícil de manejar. HDFS se utiliza para gestionar las aplicaciones que tienen que manejar grandes conjuntos de datos. Para ello, HDFS debería tener cientos de nodos por clúster.
- Detección de fallas: HDFS debe contar con tecnología para escanear y detectar fallas de forma rápida y eficaz, ya que incluye una gran cantidad de hardware básico. La falla de componentes es un problema común.
- Eficiencia del hardware: cuando se trata de grandes conjuntos de datos, puede reducir el tráfico de red y aumentar la velocidad de procesamiento.
Más temas para descubrir
La historia de HDFS
¿Cuáles son los orígenes de Hadoop? El diseño de HDFS se basó en el sistema de archivos de Google. Originalmente se creó como infraestructura para el proyecto del motor de búsqueda web Apache Nutch, pero desde entonces se ha convertido en miembro del ecosistema de Hadoop.
En los primeros años de Internet, los rastreadores web comenzaron a aparecer como una forma de buscar información en las páginas web. Esto creó diversos motores de búsqueda como Yahoo y Google.
También creó otro motor de búsqueda llamado Nutch, que tenía como objetivo distribuir datos y cálculos entre varios ordenadores simultáneamente. Nutch se trasladó entonces a Yahoo, donde se dividió en dos. Apache Spark y Hadoop son ahora entidades separadas. Mientras que Hadoop está diseñado para gestionar el procesamiento por lotes, Spark está diseñado para gestionar datos en tiempo real de forma eficiente.
Hoy en día, la estructura y el marco de Hadoop los administra Apache Software Foundation, que es una comunidad global de desarrolladores de software y colaboradores.
HDFS se originó a partir de este software y está diseñado para reemplazar las soluciones de almacenamiento de hardware con un método mejor y más eficiente: un sistema de archivos virtual. Cuando apareció por primera vez, MapReduce era el único motor de procesamiento distribuido que podía usar HDFS. Más recientemente, componentes alternativos de servicios de datos de Hadoop como HBase y Solr también utilizan HDFS para almacenar datos.
¿Qué es el HDFS en el mundo del big data?
Entonces, ¿qué es el big data y cómo se relaciona con HDFS? El término "big data" se refiere a todos los datos que son difíciles de almacenar, procesar y analizar. Los datos de big data en HDFS son datos organizados en el sistema de archivos HDFS.
Como ya sabemos, Hadoop es un marco que funciona mediante el procesamiento paralelo y el almacenamiento distribuido. Esto se puede utilizar para clasificar y almacenar grandes volúmenes de datos, ya que no se pueden almacenar de manera tradicional.
De hecho, es el software más utilizado para manejar big data, y la utilizan empresas como Netflix, Expedia y British Airways, que tienen una relación positiva con Hadoop para el almacenamiento de datos. HDFS en big data es vital, ya que es así como muchas empresas ahora eligen almacenar sus datos.
Existen cinco elementos centrales del big data organizados por los servicios de HDFS:
- Velocidad: la rapidez con la que se generan, recopilan y analizan los datos.
- Volumen: la cantidad de datos generados.
- Variedad - El tipo de datos, puede ser estructurado o no estructurado, etc.
- Veracidad - La calidad y exactitud de los datos.
- Valor: cómo puedes utilizar estos datos para obtener información sobre tus procesos empresariales.
Beneficios del sistema de archivos distribuido de Hadoop
Como subproyecto de código abierto dentro de Hadoop, HDFS ofrece cinco ventajas fundamentales a la hora de gestionar grandes volúmenes de datos:
- Tolerancia a fallas. HDFS se diseñó para detectar fallas y recuperarse automáticamente para garantizar la continuidad y confiabilidad.
- Velocidad: gracias a su arquitectura en clúster, puede mantener 2 GB de datos por segundo.
- Acceso a más tipos de datos, específicamente datos de transmisión. Gracias a su diseño para manejar grandes cantidades de datos para el procesamiento por lotes, permite altas tasas de transferencia de datos, lo que lo hace ideal para soportar datos de transmisión.
Compatibilidad y portabilidad. HDFS está diseñado para ser portátil en una variedad de configuraciones de hardware y compatible con varios sistemas operativos subyacentes, y así, proporciona a los usuarios la opción de usar HDFS con su propia configuración personalizada. Estos beneficios son especialmente significativos al tratar con big data y fueron posibles gracias a la forma particular en que HDFS gestiona los datos.
Este gráfico muestra la diferencia entre un sistema de archivos local y HDFS.
- Escalable. Puedes escalar recursos según el tamaño de tu sistema de archivos. HDFS incluye mecanismos de escalabilidad vertical y horizontal.
- Localidad de los datos. En lo que respecta al sistema de archivos Hadoop, los datos residen en nodos de datos, en lugar de trasladarse a la unidad computacional. Al acortar la distancia entre los datos y el proceso de computación, se reduce la congestión de la red y se aumenta la eficacia y eficiencia del sistema.
- Rentable. Inicialmente, cuando pensamos en datos, podríamos pensar en hardware costoso y ancho de banda saturado. Cuando se produce una falla de hardware, su reparación puede resultar muy costosa. Con HDFS, los datos se almacenan a bajo costo ya que son virtuales, lo que puede reducir drásticamente los metadatos del sistema de archivos y los costos de almacenamiento de datos del espacio de nombres del sistema de archivos. Además, debido a que HDFS es de código abierto, las empresas no necesitan preocuparse por pagar una tarifa de licencia.
- Almacena grandes cantidades de datos. El almacenamiento de datos es el objetivo principal de HDFS, lo que significa datos de todas las variedades y tamaños, pero, particularmente, grandes cantidades de datos de corporaciones que luchan por almacenarlos. Esto incluye tanto los datos estructurados como los no estructurados.
- Flexible. A diferencia de algunas otras bases de datos de almacenamiento más tradicionales, no es necesario procesar los datos recopilados antes de almacenarlos. Puedes almacenar tantos datos como desees, con la oportunidad de decidir exactamente qué te gustaría hacer con ellos y cómo utilizarlos más adelante. Esto también incluye datos no estructurados como texto, videos e imágenes.
Cómo usar HDFS
Entonces, ¿cómo se usa HDFS? Bueno, HDFS funciona con un NameNode principal y otros varios DataNodes, todo en un clúster de hardware básico. Estos nodos están organizados en el mismo lugar dentro del centro de datos. A continuación, se divide en bloques que se distribuyen entre los múltiples DataNodes para su almacenamiento. Para reducir las posibilidades de pérdida de datos, los bloques suelen replicarse entre los nodos. Es un sistema de respaldo en caso de que se pierdan los datos.
Veamos los NameNodes. El NameNode es el nodo dentro del clúster que sabe qué contienen los datos, a qué bloque pertenecen, el tamaño del bloque y dónde deben ir. Los NameNodes también se utilizan para controlar el acceso a los archivos, como cuando alguien puede escribir, leer, crear, eliminar y replicar datos en las distintas notas de datos.
El clúster también puede adaptarse en tiempo real cuando sea necesario, dependiendo de la capacidad del servidor, lo cual puede ser útil cuando hay un aumento de datos. Se pueden agregar o quitar nodos cuando sea necesario.
Ahora, pasemos a los DataNodes. Los DataNodes están en constante comunicación con los NameNodes para identificar si necesitan iniciar y completar una tarea. Esta colaboración constante significa que el NameNode conoce al detalle el estado de cada DataNode.
Cuando se identifica que un DataNode no está operando correctamente, el modo de nombre puede reasignar automáticamente esa tarea a otro nodo funcional en el mismo bloque de datos. De manera similar, los DataNodes pueden comunicarse entre sí, lo que implica que pueden colaborar en operaciones de archivos estándar. Dado que el NameNode conoce los DataNodes y su desempeño, son fundamentales para mantener el sistema.
Los bloques de datos se replican en varios DataNodes y el NameNode accede a ellos.
Para usar HDFS, necesitas instalar y configurar un clúster de Hadoop. Esto puede ser una configuración de un solo nodo, más adecuada para los usuarios primerizos, o una configuración de clúster para clústeres grandes y distribuidos. Entonces necesitas familiarizarte con los comandos de HDFS, como los siguientes, para operar y administrar tu sistema.
| Comando | Descripción |
| -rm | Elimina archivo o directorio |
| -ls | Lista archivos con permisos y otros detalles |
| -mkdir | Crea un directorio llamado path en HDFS |
| -cat | Muestra el contenido del archivo |
| -rmdir | Elimina un directorio |
| -put | Sube un archivo o carpeta desde un disco local a HDFS |
| -rmr | Elimina el archivo identificado por la ruta o la carpeta y subcarpetas |
| -get | Mueve el archivo o carpeta de HDFS al archivo local |
| -count | Cuenta la cantidad de archivos, de directorios y el tamaño de los archivos |
| -df | Muestra espacio libre |
| -getmerge | Combina varios archivos en HDFS |
| -chmod | Cambiar los permisos de archivo |
| -copyToLocal | Copia archivos al sistema local |
| -Stat | Imprime estadísticas sobre el archivo o directorio |
| -head | Muestra el primer kilobyte de un archivo |
| -usage | Devuelve la ayuda para un comando específico |
| -chown | Asigna un nuevo propietario y grupo de un archivo |
¿Cómo funciona HDFS?
Como se mencionó antes, HDFS utiliza NameNodes y DataNodes. HDFS permite la transferencia rápida de datos entre nodos de cálculo. Cuando HDFS recibe datos, es capaz de dividir la información en bloques y distribuirlos a diferentes nodos de un clúster.
Los datos se dividen en bloques y se distribuyen entre los DataNodes para su almacenamiento. Estos bloques también se pueden replicar entre nodos, lo que permite un procesamiento paralelo eficiente. Puede acceder, mover y visualizar datos a través de varios comandos. Opciones DFS de HDFS como "-get" y "-put" te permiten recuperar y mover datos según sea necesario.
Además, el HDFS está diseñado para estar muy alerta y puede detectar fallas rápidamente. El sistema de archivos utiliza la replicación de datos para garantizar que cada dato se guarde varias veces y luego, lo asigna a nodos individuales, lo que asegura que al menos una copia se encuentre en un rack diferente al de las demás copias.
Esto significa que cuando un DataNode deja de enviar señales al NameNode, este lo elimina del clúster y sigue funcionando sin él. Si este nodo de datos vuelve a estar disponible, se puede asignar a un nuevo clúster. Además, dado que los bloques de datos se replican en varios DataNodes, eliminar uno no provocará ninguna corrupción de archivo de ningún tipo.
Componentes de HDFS
Es importante saber que Hadoop tiene tres componentes principales. Hadoop HDFS, Hadoop MapReduce y Hadoop YARN. Veamos lo que estos componentes aportan a Hadoop:
- Hadoop HDFS: el sistema de archivos distribuido de Hadoop (HDFS) es la unidad de almacenamiento de Hadoop.
- Hadoop MapReduce: Hadoop MapReduce es la unidad de procesamiento de Hadoop. Este entorno de software se utiliza para escribir aplicaciones para procesar grandes cantidades de datos.
- Hadoop YARN: es un componente de gestión de recursos de Hadoop. Procesa y ejecuta datos para procesamiento por lotes, flujos, interactivo y de grafos, todos almacenados en HDFS.
Cómo crear un sistema de archivos HDFS
¿Quieres saber cómo crear un sistema de archivos HDFS? Sigue los pasos a continuación que te guiarán sobre cómo crear el sistema, editarlo y eliminarlo si es necesario.
Listado de tus HDFS
El listado de tus HDFS debería ser /user/tunombredeusuario. Para ver el contenido de tu directorio principal de HDFS, ingresa:
Como acabas de empezar, no podrás ver nada en esta etapa. Cuando quieras ver el contenido de un directorio no vacío, ingresa:
Entonces puedes ver los nombres de los directorios principales de todos los demás usuarios de Hadoop.
Creación de un directorio en HDFS
Ahora puedes crear un directorio de prueba, llamémoslo testHDFS. Aparecerá dentro de tu HDFS. Simplemente ingrese lo siguiente:
Ahora debes verificar que el directorio existe usando el comando que ingresaste al listar tu HDFS. Debería aparecer el directorio testHDFS en la lista.
Verifícalo de nuevo con el nombre completo de ruta HDFS de tu HDFS. Ingresa:
Comprueba bien que esto funciona antes de seguir los siguientes pasos.
Copiar un archivo
Para copiar un archivo desde tu sistema de archivos local a HDFS, comienza por crear el archivo que deseas copiar. Para esto, ingresa:
Esto creará un nuevo archivo llamado testFile, que incluirá los caracteres del archivo de prueba HDFS. Para verificarlo, ingresa:
ls
Y luego, para verificar que el archivo se creó, ingresa:
Luego tendrás que copiar el archivo a HDFS. Para copiar archivos de Linux a HDFS, necesitas usar:
Ten en cuenta que debes utilizar el comando "-copyFromLocal", ya que el comando "-cp" se utiliza para copiar archivos dentro de HDFS.
Ahora solo necesitas confirmar que el archivo se haya copiado correctamente. Para esto, ingresa lo siguiente:
Mover y copiar archivos
Al copiar el archivo de prueba, este se coloca en el directorio raíz. Ahora puedes moverlo al directorio testHDFS que ya creaste. Usa lo siguiente:
La primera parte movió tu archivo de prueba del directorio principal de HDFS al directorio de prueba que creaste. La segunda parte de este comando nos muestra que ya no se encuentra en el directorio de inicio de HDFS, y la tercera parte confirma que ahora se ha movido al directorio de prueba de HDFS.
Para copiar un archivo, ingresa:
Verificación del uso del disco
Comprobar el espacio en disco es útil cuando se utiliza HDFS. Para esto, puedes introducir el siguiente comando:
Esto te permitirá ver cuánto espacio estás usando en tu HDFS. También puedes ver cuánto espacio hay disponible en HDFS en todo el clúster al ingresar:
Eliminación de un archivo o directorio
Puede llegar un momento en que necesites eliminar un archivo o directorio en el HDFS. Esto se puede lograr con el comando:
Verás que aún tienes el directorio testHDFS y el archivo testFile2 que creaste. Elimina el directorio al ingresar:
Luego aparecerá un mensaje de error, pero no te preocupes. Dirá algo como "rmdir: testhdfs: Directory is not empty" (el directorio no está vacío). El directorio debe estar vacío antes de poder eliminarlo. Puedes usar el comando "rm" para omitir esto y eliminar un directorio que incluya todos los archivos que contiene. Ingresa:
Cómo instalar HDFS
Para instalar Hadoop, tienes que recordar que hay un único nodo y múltiples nodos. Dependiendo de lo que necesites, puedes usar un clúster de un único nodo o de múltiples nodos.
Un clúster de un único nodo significa que solo se está ejecutando un DataNode. Incluirá el NameNode, el DataNode, el administrador de recursos y el administrador de nodos en una sola máquina.
Para algunas industrias, esto es todo lo que se necesita. Por ejemplo, en el campo de la medicina, si estás realizando estudios y necesitas recopilar, clasificar y procesar datos en una secuencia, puedes utilizar un clúster de un único nodo. Esto puede manejar fácilmente los datos en una escala menor, en comparación con los datos distribuidos en muchos cientos de máquinas. Para instalar un clúster de nodo único, sigue estos pasos:
- Descarga el paquete de Java 8. Almacena este archivo en tu directorio personal.
- Extrae el archivo tar de Java.
- Descarga el paquete de Hadoop 2.7.3.
- Extrae el archivo tar de Hadoop.
- Agrega las rutas de Hadoop y Java en el archivo bash (.bashrc).
- Editar los archivos de configuración de Hadoop.
- Abre el archivo core-site.xml y edita la propiedad.
- Edita hdfs-site.xml y edita la propiedad.
- Edita el archivo mapred-site.xml y edita la propiedad.
- Edita yarn-site.xml y edita la propiedad.
- Edita hadoop-env.sh y agrega la ruta de Java.
- Ve al directorio principal de Hadoop y formatea el NameNode.
- Ve al directorio hadoop-2.7.3/sbin e inicia todos los daemons.
- Verifica que todos los servicios de Hadoop estén en funcionamiento.
Y ya está, ahora deberías tener un HDFS instalado correctamente.
Cómo acceder a los archivos HDFS
No sorprende que la seguridad sea estricta en HDFS, dado que estamos tratando con datos. Ya que HDFS es técnicamente un almacenamiento virtual, abarca todo el clúster, por lo que solo se pueden ver los metadatos en el sistema de archivos, sin poder ver los datos específicos reales.
Para acceder a archivos de HDFS puedes descargar el archivo "jar" desde HDFS a tu sistema de archivos local. También puedes acceder a HDFS con tu interfaz de usuario web. Simplemente abre tu navegador y escribe "localhost:50070" en la barra de búsqueda. Desde allí, puedes ver la interfaz de usuario web de HDFS y pasar a la pestaña de utilidades en el lado derecho. Luego, haz clic en "explorar sistema de archivos", que te muestra una lista completa de los archivos ubicados en tu HDFS.
Ejemplos de HDFS DFS
A continuación se muestran algunos de los ejemplos más comunes de comandos de Hadoop.
Ejemplo A
Para eliminar un directorio, debes aplicar lo siguiente (nota: esto solo se puede hacer si los archivos están vacíos):
O
Ejemplo B
Cuando tienes varios archivos en un HDFS, puedes usar el comando "-getmerge". Esto fusionará varios archivos en un solo archivo, que luego podrás descargar en tu sistema de archivos local. Puedes hacerlo de la siguiente manera:
O
Ejemplo C
Cuando quieras subir un archivo desde HDFS al local, puedes usar el comando "-put". Especifica desde dónde desea copiar y qué archivo desea copiar en HDFS. Utiliza lo siguiente:
O
Ejemplo D
El comando count se utiliza para realizar un seguimiento del número de directorios, archivos y tamaño de los archivos en HDFS. Puedes utilizar lo siguiente:
O
Ejemplo E
El comando "chown" se puede usar para cambiar el propietario y el grupo de un archivo. Para activarlo, utiliza lo siguiente:
O
¿Qué es el almacenamiento HDFS?
Como ya sabemos, los datos de HDFS se almacenan en algo llamado bloques. Estos bloques son la unidad más pequeña de datos que el sistema de archivos puede almacenar. Los archivos se procesan y se dividen en estos bloques, que luego se distribuyen por todo el clúster y también se replican por motivos de seguridad. Normalmente, cada bloque se puede replicar tres veces. Este diagrama muestra el big data y cómo se puede almacenar con HDFS.
El primero se encuentra en el DataNode, el segundo se almacena en un DataNode separado dentro del clúster, y el tercero se almacena en un DataNode en un clúster diferente. Esto es como un paso de seguridad de triple protección. Entonces, si ocurriera lo peor y una réplica fallara, los datos no se perderían para siempre.
El NameNode guarda información importante, como el número de bloques y dónde se almacenan las réplicas. En comparación, un DataNode almacena los datos reales y puede crear, eliminar y replicar bloques bajo comando. Se ve así:
Esto determina dónde los DataNodes deben almacenar sus bloques.
¿Cómo almacena HDFS los datos?
El sistema de archivos HDFS consta de un conjunto de servicios maestros (NameNode, NameNode secundario y DataNodes). El NameNode y el NameNode secundario gestionan los metadatos de HDFS. Los DataNodes alojan los datos subyacentes de HDFS.
El NameNode rastrea qué DataNodes contienen el contenido de un archivo determinado en HDFS. HDFS divide los archivos en bloques y almacena cada bloque en un DataNode. Varios DataNodes están vinculados al clúster. A continuación, NameNode distribuye réplicas de estos bloques de datos por todo el clúster. También indica al usuario o a la aplicación dónde encontrar la información deseada.
¿Para qué está diseñado el sistema de archivos distribuido Hadoop (HDFS)?
En pocas palabras, cuando se pregunta: "¿Para qué está diseñado el sistema de archivos distribuidos Hadoop?" La respuesta es, ante todo, big data. Esto puede resultar muy valioso para las grandes empresas, que de otro modo tendrían dificultades para gestionar y almacenar los datos de su negocio y de sus clientes.
Con Hadoop, puedes almacenar y unir datos, ya sean transaccionales, científicos, en redes sociales, publicidad o de máquinas. También significa que puedes volver a estos datos y obtener información valiosa sobre el rendimiento y la analítica del negocio.
Como fue diseñado para almacenar datos, HDFS también puede manejar datos sin procesar que comúnmente utilizan los científicos o aquellos en el campo médico que buscan analizar dichos datos. Estos se llaman lagos de datos. Les permite abordar preguntas más difíciles sin restricciones.
Además, dado que Hadoop se diseñó principalmente para manejar enormes volúmenes de datos de diversas maneras, también se puede utilizar para ejecutar algoritmos con fines analíticos. Esto significa que ayuda a las empresas a procesar y analizar datos de manera más eficiente, lo que les permite descubrir nuevas tendencias y anomalías. Algunos conjuntos de datos incluso se están eliminando de los almacenes de datos y trasladando a Hadoop. Simplemente facilita almacenar todo en un solo lugar de fácil acceso.
Cuando se trata de datos transaccionales, Hadoop también está equipado para manejar millones de transacciones. Gracias a sus capacidades de almacenamiento y procesamiento, se puede usar para almacenar y analizar los datos de los clientes. También puedes analizar en profundidad los datos para descubrir tendencias y patrones emergentes que te ayuden a alcanzar tus objetivos empresariales. No olvides que Hadoop se actualiza constantemente con datos nuevos y puedes comparar los datos nuevos con los antiguos para ver qué cambió y por qué.
Consideraciones con HDFS
De forma predeterminada, HDFS se configura con replicación 3x, lo que significa que los conjuntos de datos tendrán dos copias adicionales. Si bien esto mejora la probabilidad de que los datos se localicen durante el procesamiento, también introduce costos adicionales de almacenamiento.
- HDFS funciona mejor cuando se configura con almacenamiento conectado localmente. Esto garantiza el mejor rendimiento para el sistema de archivos.
- Para aumentar la capacidad de HDFS es necesario añadir nuevos servidores (computación, memoria, disco), no solo medios de almacenamiento.
HDFS vs. Almacenamiento de objetos en la nube
Como se mencionó anteriormente, la capacidad de HDFS está estrechamente relacionada con los recursos informáticos. Aumentar la capacidad de almacenamiento implica aumentar los recursos de la CPU, aunque estos últimos no sean necesarios. Al agregar más nodos de datos a HDFS, es necesario realizar una operación de reequilibrio para distribuir los datos existentes a los servidores recién agregados.
Esta operación puede tardar un poco. Escalar un cluster de Hadoop en un entorno local también puede ser difícil desde una perspectiva de costo y espacio. HDFS usa almacenamiento conectado localmente que puede proporcionar beneficios de rendimiento en E/S siempre que YARN pueda aprovisionar el procesamiento en los servidores que almacenan los datos a procesar.
Con entornos muy utilizados, es posible que la mayoría de las operaciones de lectura o escritura de datos se realicen en la red en lugar de locales. El almacenamiento de objetos en la nube incluye tecnologías como Azure Data Lake Storage, AWS S3 o Google Cloud Storage. Es independiente de los recursos informáticos a los que acceden, por lo que los clientes pueden almacenar cantidades mucho mayores de datos en la nube.
Los clientes que buscan almacenar petabytes de datos pueden hacerlo fácilmente en el almacenamiento de objetos en la nube. Sin embargo, todas las operaciones de lectura y escritura en el almacenamiento en la nube se realizarán a través de la red. Por lo tanto, es importante que las aplicaciones que accedan a sus datos aprovechen el almacenamiento en caché donde sea posible o incluyan lógica para minimizar las operaciones de E/S.


