El valor de la gestión de datos

Cómo funciona el sistema de procesamiento de datos de Hadoop

Publicado el 12/07/17 21:00

El sistema de procesamiento de datos de Hadoop es un sistema que permite el procesamiento distribuido de big data a través de clústeres de servidores usando modelos de programación sencillos. Está diseñado para escalar de servidores individuales a miles de máquinas, cada una ofreciendo computación y almacenamiento local.



sistema_de_procesamiento_de_datos_de_hadoop.jpg

Créditos fotográficos: ktsimage

En lugar de confiar en el hardware para ofrecer alta disponibilidad, el propio sistema de procesamiento de datos de Hadoop está diseñado para detectar y manejar fallos en la capa de aplicación, por lo que ofrece un servicio altamente disponible sobre un clúster de servidores, cada uno de los cuales puede ser propenso a fallos.

Por lo tanto, se trata de un sistema de procesamiento de datos diseñado para ser robusto, en el cual el procesamiento de Big Data seguirá funcionando incluso cuando los servidores individuales o clústeres fallen. Y también está diseñado para ser eficiente ya que no requiere que sus aplicaciones transporten enormes volúmenes de datos a través de su red.

 

Guía gratuita: "Del Bit... al Big Data", descubre todo lo que necesitas saber  sobre Big Data y mucho más.

 

Cómo funciona exactamente el sistema de procesamiento de datos distribuido de Hadoop

Cuando los bits de información van entrando en el sistema de procesamiento de datos distribuido de Hadoop el camino que recorren es el siguiente:

  1. División de los datos entrantes en segmentos.
  2. Distribución de los segmentos en nodos diferentes que soportan el procesamiento paralelo.
  3. Replicación de cada segmento en múltiples nodos de datos de forma que dos copias queden alojadas en nodos del mismo bastidor y una adicional se envíe a un nodo situado en un rack distinto.
  4. Agrupación de los nodos en clústeres HDFS.

Además, una de las ventajas del sistema de procesamiento de datos distribuido de Hadoop es que, gracias a esa replicación que tiene lugar, la información queda protegida frente a bastantes tipos de fallos. Así, si un nodo diese problemas y no permitiese el acceso a los datos contenidos en sus segmentos, el procesamiento no se detendría, ya que podría continuar recurriéndose a los nodos de cualquier otro bastidor.

Sin embargo, no hay que olvidar que todavía podrían plantearse algunos inconvenientes. La tolerancia a fallos del sistema de procesamiento de datos tiene una excepción, y es que se requiere un único NameNode y éste se ubica en un único servidor, por lo que, caso de producirse un fallo que le afectase, todo el sistema de archivos quedaría inaccesible.

Podría decirse que el sistema estaría cerrado, al menos, hasta que pudiera reiniciarse el servidor gracias a los datos que un NameNode secundario va guardando cada vez que lleva a cabo una copia de seguridad periódica del principal. Algo que, en ningún caso serviría para mantener las operaciones en ejecución.

Por último, queda citar un componente importante en el sistema de procesamiento de datos distribuido de Hadoop: MapReduce. Precisamente MapR Technologies anunció recientemente un sistema de archivos compatible con Hadoop y que, entre sus principales características, cuenta con un NameNode distribuido que elimina el único punto de fallo presente en HDFS.

Si bien, la función por la que se conoce a MapReduce es por su papel en la gestión del procesamiento de datos distribuido. Su funcionamiento permite que los trabajos se envíen a un JobTracker capaz de asignar una tarea a un nodo TaskTracker gracias a su conocimiento de la ubicación de cada segmento de datos.

De esta forma, el sistema de procesamiento de datos de Hadoop permite multiplicar la eficiencia de los procesos gracias a su carácter distribuido que hace posible un trabajo más ágil, en menor tiempo, con un riesgo mínimo y que puede fácilmente escalarse.

 

New Call-to-action

Temas: Big Data