2012-06-25 6 views
8

Recuerdo haber leído en alguna parte que el rendimiento de Hadoop se deteriora significativamente si las máquinas en las que se ejecuta son muy diferentes unas de otras, pero parece que ya no puedo encontrar ese comentario. Estoy considerando ejecutar un clúster de Hadoop en una matriz de máquinas virtuales que mi grupo no administra directamente, y necesito saber si este es un requisito que debo incluir en mi solicitud.¿Deberían los clústeres hadoop ejecutarse en un hardware idéntico?

Entonces, ¿debo insistir en que todas mis máquinas tengan hardware idéntico, o está bien ejecutar en diferentes máquinas en diferentes configuraciones de hardware?

Gracias.

Respuesta

12

siguientes documentos de describe cómo cluster heterogéneo afecta al rendimiento de hadoop mapa-reducir:

En un clúster heterogéneo, las capacidades de cálculo de los nodos pueden variar significativamente. Un nodo de alta velocidad puede finalizar los datos de procesamiento almacenados en un disco local del nodo más rápido que sus contrapartes de baja velocidad. Después de que un nodo rápido complete el procesamiento de sus datos de entrada locales, el nodo debe admitir la carga al manejar datos no procesados ​​ubicados en un o más nodos lentos remotos. Cuando la cantidad de datos transferidos debido al intercambio de carga es muy grande, la sobrecarga de mover datos no procesados ​​ de nodos lentos a nodos rápidos se convierte en un problema crítico que afecta el rendimiento de Hadoop.

siguientes referencias tiene más detalles:

  1. http://computerresearch.org/stpr/index.php/gjcst/article/view/749/658
  2. http://www.usenix.org/event/osdi08/tech/full_papers/zaharia/zaharia.pdf

También proporciona formas en que se podría mejorar el rendimiento en cluster heterogéneo o evitar esta pérdida de rendimiento.

Se sugiere sabiamente que tiene máquinas homogéneas en su clúster, pero si estas máquinas no tienen especificaciones y diferencias de rendimiento muy diferentes, debe continuar con la construcción de su clúster.

Para sistemas de producción, debe sugerir máquinas homogéneas. Para el desarrollo, el rendimiento no es crítico.

Sin embargo, debería ser capaz de comparar su clúster Hadoop después de haberlo creado.

+0

¡Es un buen consejo, gracias! – ILikeFood

2

Un clúster homogéneo es ciertamente ideal, pero no es estrictamente necesario. Yahoo !, Inc., por ejemplo, ejecuta clusters heterogéneos en sus entornos de producción. Desde hablar con los investigadores allí, descubren que hay un golpe de rendimiento debido a problemas de programación (un golpe lo suficientemente grande como para que estén trabajando duro para agregar programación consciente del rendimiento a sus herramientas), pero la penalización no es paralizante.

Cuestiones relacionadas