domingo, 3 de abril de 2016

7- Soluciones a grandes problemas que ofrece Apache Hadoop

Soluciones a grandes problemas que ofrece Hadoop

Problemas de Espacio

Se empieza trabajar con terabytes y petabytes de datos, para lo que se necesitan infraestructuras muy potentes que sean capaces de tratar y almacenar tanta información.


El diseño master-slave distribuido de HDFS hace que Hadoop permita pasar de pocos nodos a miles: Escalabilidad horizontal, montando una infraestructura distribuida completamente transparente para el usuario que hace que el sistema se note como local, sin tener en cuenta en qué máquinas están qué datos.

Replicación de datos



Replicación por bloque de información: Por defecto hadoop replica 3 veces por bloque de información, cada uno en un nodo distinto, de forma que si cae uno, quedan 2 copias.


Hay mecanismos de replicación rack, por lo que si cae un rack entero, la información estará disponible en uno o varios nodos de otro rack distinto.
Se intenta que los bloque se repliquen de forma que queden cerca entre ellos, para aumentar el rendimiento.


La idea es separar el trabajo de replicación del nameNode, de forma que se haga por los dataNode sin intervención de NameNode. (Pipeline de replicación)




Hadoop detecta un fallo en hardware o en software por la pérdida del heartbeat de una determinada máquina.

Datos corruptos

Por cada bloque de datos, en HDFS se almacena un metadato mediante un mecanismos de checksun con md5sum [Programa que detecta variaciones en un archivo mediante MD5]
Cada vez que se realiza una lectura sobre un bloque de información, se comprueba el checksun y si no coincide, el nameNode busca la información en otra copia y lo reemplaza en el NameNode que ha dado error.


También hay un mecanismo de scanner que permite cada cierto tiempo repasar todos los bloques que están en HDFS para asegurarse de que los checksuns son válidos y en caso contrario se procede a una reparación del bloque de información corrupto.

Tiempo de acceso

Uno de los principales problemas en el tratamiento de grandes cantidades de datos son los cuellos de botella, y Hadoop para solucionarlo hace uso de carga de trabajo dividida tanto a nivel de lectura como de escritura entre los diferentes esclavos.


Los bloques de datos no siempre están distribuidos de forma uniforme: puede haber datanodes colapsados y datanodes infrautilizados, por lo que HDFS mueve bloques de unos a otros DN de forma que ante una avalancha de trabajo puedan rendir al máximo.  Esto se hace calculando la media de utilización de cada nodo y dependiendo de un umbral previamente establecido decidir si un nodo está sobreutilizado para pasar carga a otros nodos menos usados.


HDFS también tiene algoritmos para usar los servidores según la localización de los datos y así reducir el tráfico al mínimo posible.

Coste

Hadoop no necesita equipamiento muy costoso, funciona bien sobre “commodity hardware”, sin ser necesarios servidores de última generación. Además es de licencia libre.

Por ejemplo, es más barato comprar 1000 PCs con Quad Core que 1 servidor de 4000 cores, con la ventaja añadida de la reducción de riesgo de fallo. Si cae un PC, se puede balancear carga y el sistema sigue arriba. Si cae el server, se cae todo.

Reacciones:

0 comentarios:

Publicar un comentario