Análisis de implementación de clústeres de big data en máquinas físicas y máquinas virtuales

1. Resumen

Uno de los principales propósitos de la virtualización de la computación en la nube es resolver el problema de la utilización de recursos, es decir, virtualizar recursos físicos de baja utilización en múltiples recursos lógicos más pequeños y asignarlos a múltiples aplicaciones bajo demanda para mejorar la eficiencia del uso de recursos; tecnología de big data La demanda de recursos es exactamente opuesta a la de la tecnología de virtualización. Un solo recurso de servidor físico no puede cumplir con los requisitos de capacidad de almacenamiento y rendimiento informático de big data. Se requieren múltiples recursos de servidor físico para formar un clúster para implementar un marco distribuido para mejorar la capacidad de almacenamiento y potencia informática., este artículo se centrará en analizar la diferencia de rendimiento entre la implementación de clústeres de big data en máquinas físicas y máquinas virtuales.

Hadoop es un marco de computación paralela distribuida que se ejecuta en clústeres a gran escala. Sus tecnologías principales incluyen: almacenamiento distribuido (HDFS) y computación distribuida (MapReduce).

HDFS es un sistema de archivos distribuido virtual construido en el sistema operativo Linux. Puede dividir un conjunto de datos grande en múltiples bloques de datos más pequeños (Bloques) y particionarlos de acuerdo con la partición Hash y los cubos virtuales (cubos) y otros algoritmos almacenan bloques de datos en un de manera ordenada en diferentes nodos de datos en el clúster para mejorar la tolerancia a fallas y las capacidades de distribución.

MapReduce contiene dos operaciones: Map y Reduce. El marco MapReduce divide una tarea informática en varias tareas de Mapa y luego las asigna a diferentes nodos host para su ejecución. Cada tarea de Mapa procesa una parte de los datos de entrada. Cuando se completa la tarea de Mapa, generará algunos archivos intermedios. Estos archivos intermedios archivos El archivo se utilizará como datos de entrada de la tarea Reducir. Reducir resume los datos y genera el resultado final.

La informática MapReduce requiere lectura y escritura de datos a gran escala, y la E/S de red de gran capacidad se ha convertido en uno de los puntos clave que afectan el rendimiento informático de MapReduce. Hay muchas formas de reducir la E / S de la red. A diferencia del modelo informático tradicional de "mover datos a trabajos", Hadoop propone "mover trabajos a datos", es decir, enviar tareas informáticas al nodo donde se encuentran los datos para lograr localmente. Computación y reducción de datos entre nodos. Lea para mejorar el rendimiento.

En términos de la selección del entorno de implementación del clúster de big data, los usuarios tendrán muchas dudas sobre si construir un clúster de máquinas físicas o un clúster de máquinas virtuales y comprender correctamente los principios básicos de Hadoop, especialmente "mover trabajos a datos" para reducir la E/S de la red. y mejorar el rendimiento informático, puede ayudar a los usuarios a tomar la decisión correcta.

2. Clúster de máquinas físicas de big data

Figura 1 Clúster de máquinas físicas de big data

Como se muestra en la Figura 1, se construye un clúster de máquinas físicas de big data. En el proceso, se reduce el movimiento de datos entre servidores, se reduce la E/S de la red y se logran lecturas y cálculos rápidos de datos. Además, los clústeres de máquinas físicas de big data también tienen las siguientes ventajas:

(1) El clúster de máquinas físicas de big data adopta una arquitectura tecnológica que no comparte nada, que puede lograr una expansión horizontal escalable. El número de hosts del clúster varía de unos pocos a miles y admite la expansión lineal de datos masivos de nivel PB y EB. capacidades de almacenamiento y computación.

(2) Cada nodo de servidor físico se puede configurar con múltiples discos duros. Cada disco duro adopta un método de montaje independiente, es decir, cada disco duro tiene capacidades de E/S independientes y puede admitir lectura y escritura de datos en paralelo para lograr alta velocidad. rendimiento de datos.

(3) Existe un intercambio de datos entre los nodos host del clúster de máquinas físicas de big data, que generalmente requiere que la tarjeta de red funcione a plena capacidad. La máquina física puede mejorar el rendimiento de E / S de la red compartiendo la carga de múltiples tarjetas de red.

3. Clúster de máquinas virtuales de big data

Figura 2 Clúster de máquinas virtuales de big data

Como se muestra en la Figura 2, la tecnología de virtualización tiene como objetivo mejorar la tasa de utilización de la CPU, la memoria y otros recursos del servidor físico. Virtualiza la CPU, la memoria y los recursos de almacenamiento de un servidor físico en múltiples conjuntos de recursos lógicos. Cada conjunto de recursos lógicos corresponde a un Máquina virtual VM, un servidor físico se virtualiza en varias VM y las VM se utilizan como unidades que se asignan a múltiples aplicaciones para maximizar la eficiencia de utilización de los recursos del servidor.

En comparación con los clústeres de máquinas físicas de big data, los clústeres de máquinas virtuales de big data tienen los siguientes problemas:

(1) La potencia informática del clúster de máquinas virtuales se reduce considerablemente. Hadoop utiliza un marco informático distribuido, que requiere que varios hosts en un clúster de big data compartan la misma tarea informática. Cuanto más fuertes sean las capacidades de CPU, memoria y E/S del disco del host, más rápido será el rendimiento del procesamiento. La tecnología de virtualización virtualiza los recursos físicos del servidor en múltiples recursos lógicos. No solo no mejora las capacidades de E/S de la CPU, la memoria y el disco del clúster de big data, sino que el procesamiento de virtualización como el hipervisor también genera un consumo de recursos adicional, lo que resulta en un single El rendimiento de procesamiento del servidor físico disminuirá aproximadamente un 10%.

(2) La eficiencia de E/S del clúster de máquinas virtuales se reduce considerablemente. Cada vez que un clúster de big data realiza una tarea informática, requiere una gran cantidad de datos de lectura y escritura. Las máquinas virtuales utilizan almacenamiento compartido o almacenamiento unificado. El principio de "mover trabajos a datos" requerido por Hadoop no se puede implementar, y la red I /O aumentará significativamente. La eficiencia de E/S se reducirá considerablemente. Además, varias tarjetas de red de máquinas virtuales compartirán una tarjeta de red física y el ancho de banda de la tarjeta de red virtual también se convertirá en un cuello de botella cuando se intercambien grandes cantidades de datos.

(3) Los clústeres de máquinas virtuales no pueden admitir la expansión lineal de la informática y el almacenamiento. El almacenamiento compartido o el almacenamiento unificado enfrentarán graves conflictos de E/S cuando varias máquinas virtuales lean y escriban al mismo tiempo, y la escala del host del clúster será limitada.

4. Prueba de comparación de rendimiento del clúster de máquinas físicas de Big Data y del clúster de máquinas virtuales

Para demostrar la exactitud del análisis teórico anterior de grupos de máquinas físicas y grupos de máquinas virtuales de big data, utilizamos una tarea informática distribuida de big data estándar Terasort sorting para realizar una prueba de comparación de rendimiento. Map y Reduce de Terasort generan una gran cantidad de datos intermedios y requieren lectura y escritura en el disco duro a gran escala, lo que puede demostrar efectivamente la diferencia de rendimiento entre los clústeres de máquinas físicas y los clústeres de máquinas virtuales.

Figura 3 Clasificación Terasort

Como se muestra en la Figura 3, Terasort es un trabajo de clasificación basado en Hadoop. Los datos a clasificar se dividen primero en K bloques de datos. En la etapa de Mapa, cada Tarea de Mapa dividirá los datos en R bloques de datos, donde R es el número de Reducir Tareas, y todos los datos en el i (i>0) -ésimo bloque de datos serán más grandes que los datos en el i+1-ésimo bloque de datos. Grande; en la etapa Reducir, la i-ésima tarea Reducir procesa (clasifica) el i-ésimo bloque de todas las tareas de mapa, de modo que los resultados generados por la i-ésima tarea Reducir serán mayores que i + 1-ésimo, y finalmente 1 a R Reducir las tareas será Los resultados de clasificación de las tareas se generan secuencialmente, que es el resultado final de la clasificación.

Utilice la misma configuración del servidor para crear un clúster de máquinas físicas de big data y un clúster de máquinas virtuales de big data. El entorno y los resultados de las pruebas son los siguientes:

(1) La configuración del clúster de máquinas físicas de big data compuesto por 3 servidores físicos se muestra en la Tabla 1.

Tabla 1 Configuración del clúster de máquinas físicas de Big Data

usar

UPC

Memoria

disco del sistema

disco duro de datos

red

Nodo uno

4 vías 8 núcleos

128G

1*600G

4*600G

10GbE

Nodo dos

4 vías 8 núcleos

128G

1*600G

4*600G

10GbE

Nodo tres

4 vías 8 núcleos

128G

1*600G

4*600G

10GbE

(2) La configuración del clúster de máquinas virtuales de big data compuesto por 6 máquinas virtuales se muestra en la Tabla 2

Tabla 2 Configuración del clúster de máquinas virtuales de Big Data

usar

UPC

Memoria

disco del sistema

disco duro de datos

red

Nodo uno

2 vías 8 núcleos

62G

1*600G

1,2 toneladas

10GbE

Nodo dos

2 vías 8 núcleos

62G

1*600G

1,2 toneladas

10GbE

Nodo tres

2 vías 8 núcleos

62G

1*600G

1,2 toneladas

10GbE

Nodo cuatro

2 vías 8 núcleos

62G

1*600G

1,2 toneladas

10GbE

nodo cinco

2 vías 8 núcleos

62G

1*600G

1,2 toneladas

10GbE

Nodo seis

2 vías 8 núcleos

62G

1*600G

1,2 toneladas

10GbE

(3) La comparación de los resultados de la prueba se muestra en la Tabla 3.

Tabla 3 resultados de la prueba

Artículos de prueba

Rendimiento del clúster de máquinas físicas

Rendimiento del clúster de máquinas virtuales

Clúster de máquinas virtuales/clúster de máquinas físicas

Generación de datos de 100G

295 segundos

395 segundos

133,9%

Clasificación Terasort de datos de 100G

3006 segundos

4342 segundos

144,4%

De los resultados anteriores se puede ver que, aunque la cantidad de hosts de clústeres virtuales de big data es el doble que la de los hosts de clústeres físicos de big data, el rendimiento del procesamiento es un 40% menor. Se puede ver que los clústeres físicos de big data tienen mayores ventajas de rendimiento que los clústeres virtuales de big data.

5. Puntos de riesgo del clúster de máquinas virtuales de big data

Los principales puntos de riesgo de los clústeres de máquinas virtuales de big data se encuentran en los siguientes aspectos:

Actuación

(1) Se reduce el rendimiento general del clúster. La comparación de la prueba de rendimiento real de los productos TBDS/MPP entre máquinas físicas y máquinas virtuales con la misma configuración muestra que el rendimiento general de la máquina virtual es aproximadamente un 40% menor que el de la máquina física;

(2) La potencia informática del clúster de máquinas virtuales se reduce considerablemente. TBDS /MPP adopta un marco informático distribuido, que requiere que varios hosts en un clúster de big data compartan la misma tarea informática. Cuanto más fuertes sean las capacidades de CPU, memoria y E/S del disco del host, más rápido será el rendimiento del procesamiento. La tecnología de virtualización virtualiza los recursos físicos del servidor en múltiples recursos lógicos. No solo no mejora las capacidades de E/S de la CPU, la memoria y el disco del clúster de big data, sino que el procesamiento de virtualización como el hipervisor también genera un consumo de recursos adicional, lo que resulta en un single El rendimiento de procesamiento del servidor físico disminuirá aproximadamente un 10%;

(3) Las máquinas virtuales no pueden aprovechar las ventajas técnicas distribuidas originales. La clave para mejorar el rendimiento de TBDS /MPP es hacer un uso completo de los recursos informáticos locales y los recursos del disco duro local de cada host para la computación distribuida, evitar una gran redistribución de datos entre hosts y utilizar máquinas físicas para controlar la distribución de datos. y la ejecución y optimización de SQL pueden controlar, si se utiliza una máquina virtual, no se puede garantizar que la distribución de datos sea coherente con la máquina física, como resultado, los datos que no necesitan redistribuirse en la máquina física también se redistribuirán. provocando que la CPU y IO estén más ocupados y el rendimiento de SQL disminuirá en casos extremos Más de 2 veces.

Estabilidad

(1) La estabilidad de las máquinas virtuales es mucho más débil que la de las máquinas físicas. La máquina virtual en sí es software y la máquina virtual en sí también tendrá errores .

(2) Si la máquina física no funciona, todas las máquinas virtuales de capa superior no estarán disponibles. Cuando la máquina física tiene hardware que necesita ser actualizado, los problemas con la actualización afectarán el funcionamiento de la máquina virtual de capa superior .

Escalabilidad

Los clústeres de máquinas virtuales no pueden soportar la expansión lineal de la informática y el almacenamiento. El almacenamiento compartido o el almacenamiento unificado enfrentarán graves conflictos de E/S cuando varias máquinas virtuales lean y escriban al mismo tiempo, y la escala del host del clúster será limitada .

Seguridad de datos

No se puede garantizar la seguridad de los datos cuando se utilizan máquinas virtuales. Cuando TBDS/MPP se implementa en máquinas físicas, las réplicas principales se distribuyen en diferentes máquinas físicas, lo que garantiza que si una máquina física deja de funcionar, habrá réplicas disponibles en otras máquinas físicas. Sin embargo, el uso de máquinas virtuales para implementar réplicas puede parcialmente El maestro y la copia de los datos estarán en la misma máquina física, lo que perderá la función de alta disponibilidad de la copia maestra. En casos extremos, la falla de una máquina física hará que todos los datos del clúster estén incompletos, lo que provocará que el clúster dejar de estar disponible.

Costos de desarrollo y operación y mantenimiento.

El uso de máquinas virtuales hace que los costos de desarrollo y operación aumenten varias veces. Bajo los mismos requisitos de recursos físicos, la cantidad de máquinas virtuales será de 2 a 3 veces mayor que la de las máquinas físicas. Originalmente, 1 clúster físico debe dividirse en 2 o 3 clústeres, y habrá una gran cantidad de transmisión de datos entre los clústeres. Por un lado, el desarrollo del negocio es complicado: la velocidad aumentará significativamente y, por otro lado, los costos de operación y mantenimiento también aumentarán entre 2 y 3 veces.

6. Conclusión

Big Data tiene altos requisitos de potencia informática, recursos de almacenamiento y escalabilidad. La CPU, la memoria y los recursos de almacenamiento de un solo servidor físico no son suficientes para soportar la capacidad de almacenamiento de datos y los requisitos de eficiencia informática de TBDS/MPP. Requiere varios servidores . Un clúster unificado realiza almacenamiento y computación distribuidos, es decir, N:1. La tecnología de virtualización tiene como objetivo mejorar la eficiencia en la utilización de recursos virtualizando la CPU, la memoria, el almacenamiento y otros recursos de un servidor físico en múltiples conjuntos de recursos lógicos, es decir, 1:N. Las características técnicas de la virtualización 1: N en realidad se desvían de los requisitos técnicos del clúster de big data N: 1. El clúster de big data construido por máquinas virtuales tiene rendimiento de procesamiento, estabilidad, escalabilidad, seguridad de datos, desarrollo y costos de operación y mantenimiento , etc. Todos los aspectos encontrarán muchos problemas en el entorno de producción real.

En resumen, para entornos de producción con grandes volúmenes de datos y requisitos de alto rendimiento, se recomienda utilizar clústeres de servidores físicos para implementar big data; para entornos experimentales con pequeños volúmenes de datos y requisitos de bajo rendimiento, se pueden utilizar clústeres de máquinas virtuales para implementar big data. .

Supongo que te gusta

Origin blog.csdn.net/qq_42264264/article/details/130829486
Recomendado
Clasificación