Conceptos Clave de Virtualización y Arquitectura Hadoop
Clasificado en Informática
Escrito el en
español con un tamaño de 3,02 KB
Virtualización: Conceptos y Tipos
La virtualización permite optimizar los recursos tecnológicos mediante diversas técnicas:
- Virtualización de almacenamiento: Varios dispositivos de almacenamiento en red agrupados en uno físico.
- Virtualización de red e interconexión: Combina recursos y funcionalidad de red en una sola entidad administrativa basada en una red virtual.
- Virtualización de contenedores (Docker): En lugar de albergar un sistema operativo (OS) completo, comparten recursos del propio OS "host" sobre el que se ejecutan, optimizando su uso sin necesidad de sistemas operativos separados para conseguir aislamiento. Funciona mediante imágenes reutilizables entre varias aplicaciones. Es decir, aísla aplicaciones (que deben pertenecer al mismo OS que el host), no sistemas operativos completos.
Los contenedores despliegan aplicaciones más rápido y aprovechan mejor los recursos, mientras que las máquinas virtuales crean sistemas completos aislados, con mayor control sobre el entorno y permitiendo mezclar sistemas operativos host y huésped.
Hadoop: Plataforma de Computación Distribuida
Hadoop es una plataforma o framework open source para computación distribuida, escalable y de confianza. No es un lenguaje ni un servicio; permite almacenar datos en un entorno distribuido para su procesamiento paralelo en grandes clústeres de hardware básico.
Componentes Principales
- HDFS (Hadoop Distributed File System): Crea múltiples réplicas de bloques de datos y los distribuye en nodos de cómputo a través de un clúster, utilizando una arquitectura de escalamiento horizontal.
- Namenodes: Servidor maestro que mantiene y gestiona los datanodes o esclavos. Los datos se almacenan en archivos, divididos a su vez en uno o más bloques (unidad mínima de almacenamiento de 128 o 256 MB como máximo), que se distribuyen en un conjunto de DataNodes.
- Replication Management: Realiza copias de los bloques y los guarda en diferentes DataNodes (por defecto, 3).
- Algoritmo Rack Awareness: Utiliza un algoritmo de reconocimiento del bastidor para reducir la latencia y fallos: la primera réplica de bloque se realiza en el mismo rack, la siguiente en un rack remoto y el resto de forma aleatoria (no más de dos por rack).
- YARN: Los datos se procesan paralelamente a través de diferentes nodos esclavos. Los resultados procesados se envían al nodo maestro, donde se fusionan y se devuelve la respuesta al cliente.
- MapReduce: Framework de desarrollo y escritura de algoritmos de procesamiento distribuidos y paralelos sobre grandes conjuntos de datos en el entorno Hadoop. Consta de dos funciones: MAP (filtra, agrupa y ordena) y Reduce (agrega y sumariza los resultados, que son pares clave-valor).