Evaluaci贸n comparativa de HDFS 3 con HDFS 2

Nuestra empresa SberTech (Sberbank Technologies) actualmente usa HDFS 2.8.4 porque tiene una serie de ventajas, como el ecosistema Hadoop, el trabajo r谩pido con grandes cantidades de datos, es bueno en an谩lisis y mucho m谩s. Pero en diciembre de 2017, Apache Software Foundation lanz贸 una nueva versi贸n del marco de c贸digo abierto para desarrollar y ejecutar programas distribuidos: Hadoop 3.0.0, que incluye una serie de mejoras significativas sobre la l铆nea de lanzamiento principal anterior (hadoop-2.x). Una de las actualizaciones m谩s importantes e interesantes para nosotros es el soporte de c贸digos de redundancia (Erasure Coding). Por lo tanto, la tarea se estableci贸 para comparar estas versiones entre s铆.

SberTech Company asign贸 10 m谩quinas virtuales de 40 GB cada una para este trabajo de investigaci贸n. Dado que la pol铆tica de codificaci贸n RS (10.4) requiere un m铆nimo de 14 m谩quinas, no funcionar谩 probarla.

En una de las m谩quinas, NameNode se ubicar谩 adem谩s del DataNode. Las pruebas se realizar谩n con las siguientes pol铆ticas de codificaci贸n:

  • XOR (2.1)
  • RS (3.2)
  • RS (6.3)

Y tambi茅n, usando la replicaci贸n con un factor de replicaci贸n de 3.

El tama帽o del bloque de datos se eligi贸 igual a 32 MB.

Investigaci贸n


Prueba de velocidad de datos


Se realizaron pruebas para las tasas de transferencia de datos. Los datos se transfirieron del sistema de archivos local al sistema de archivos distribuido. El tama帽o del archivo utilizado en esta prueba es 292,2 MB.

Se obtuvieron los siguientes resultados:



Tambi茅n se construye un gr谩fico de los valores recibidos agrupados del tiempo de transferencia de archivos:



Y tambi茅n, un gr谩fico de velocidades de datos agrupados recibidos:



Como se puede ver en el gr谩fico, los datos m谩s r谩pidos se transmiten codificados con XOR (2,1). Las codificaciones RS (6.3) y RS (3.2) muestran un comportamiento similar, aunque el valor de velocidad promedio para RS (6.3) es ligeramente mayor. La replicaci贸n pierde mucha velocidad (aproximadamente 1.5 veces menos que XOR y 1.5 veces menos que RS).

En cuanto a la eficiencia del almacenamiento, XOR (2.1) y RS (6.3) son los m茅todos de almacenamiento m谩s rentables, los datos redundantes son solo del 50%. La replicaci贸n, con una relaci贸n de replicaci贸n de 3, pierde nuevamente, almacenando el 200% de los datos redundantes.

Prueba de rendimiento


En la prueba anterior, el estado de los servidores se monitore贸 utilizando la herramienta de monitoreo Grafana.

A continuaci贸n se muestra un gr谩fico que muestra la carga de la CPU durante las pruebas de transferencia de datos:



Como se puede ver en el gr谩fico, en esta prueba tambi茅n la codificaci贸n RS (6.3) consume la menor cantidad de recursos. La replicaci贸n muestra nuevamente el peor resultado.

Consumo de recursos en recuperaci贸n de datos


Para realizar esta prueba, se carg贸 una cierta cantidad de datos en el sistema de archivos distribuido de Hadoop. Luego se omitieron dos m谩quinas con un DataNode.
A continuaci贸n se muestran gr谩ficos del estado de las m谩quinas en el momento de la recuperaci贸n de datos con codificaci贸n RS (6.3) y cuando se usa la replicaci贸n:


Estado del procesador durante la recuperaci贸n de datos mediante codificaci贸n RS (6.3)


Estado de la CPU durante la recuperaci贸n de datos mediante la replicaci贸n

Como se puede ver en los gr谩ficos, la codificaci贸n RS (6.3) carga el procesador m谩s que la replicaci贸n durante la recuperaci贸n de datos, lo cual es l贸gico, porque para recuperar datos perdidos utilizando c贸digos redundantes, es necesario calcular la matriz de redundancia inversa, que consume m谩s recursos que simplemente sobrescribir datos de otro DataNode en caso de replicaci贸n.

Resultados de la prueba:


  • Para velocidades de transferencia de datos, es mejor usar codificaci贸n XOR (2.1) o RS (6.3)
  • Al transmitir datos, el procesador carga menos la codificaci贸n RS (6.3) y RS (3.2)
  • Al restaurar los datos, el procesador est谩 menos estresado por el uso de la replicaci贸n.
  • La forma m谩s compacta de almacenar datos son las codificaciones RS (6.3) y XOR (2.1)

El m茅todo de almacenamiento m谩s confiable es la codificaci贸n RS (6.3), ya que le permite perder hasta tres m谩quinas sin p茅rdida de datos, y la replicaci贸n con un coeficiente de replicaci贸n de 3 admite fallas de hasta 2 m谩quinas. XOR (2, 1) es la forma m谩s poco confiable de almacenar datos, ya que le permite perder un m谩ximo de una m谩quina.

Conclusi贸n


Los objetivos principales del uso del sistema de archivos distribuido en SberTech son:

  • Alta fiabilidad
  • Minimizar el costo de mantenimiento de servidores para el almacenamiento de datos.
  • Proporcionar herramientas de an谩lisis de datos.

En base a los resultados del an谩lisis, se hacen las siguientes conclusiones:

  • HDFS 3 supera la confiabilidad sobre HDFS 2.
  • HDFS 3 gana al minimizar los costos de mantenimiento del servidor porque almacena los datos de manera m谩s compacta.
  • HDFS 3 tiene el mismo conjunto de herramientas de an谩lisis de datos que HDFS 2.

En este sentido, se concluy贸 que HDFS 3 es un reemplazo racional para HDFS 2.

Fuentes utilizadas:


Source: https://habr.com/ru/post/es418667/


All Articles