2009-06-10 8 views
8

Vamos a comprar hardware nuevo para usar solo para un clúster de Hadoop y estamos estancados en lo que deberíamos comprar. Digamos que tenemos un presupuesto de $ 5k si compramos dos máquinas súper bonitas a $ 2500 por cada una, cuatro a alrededor de $ 1200 por cada una u ocho a alrededor de $ 600 cada una. ¿Funcionará mejor con máquinas más lentas o con menos máquinas mucho más rápidas? O, como la mayoría de las cosas "depende"? :-)Clúster Hadoop. 2 máquinas rápidas, 4 medianas, 8 más lentas?

+0

Trate http://www.serverfault.com – TheTXI

+4

Esto no es un problema administrador de sistemas. Los recursos disponibles para Hadoop son inherentes al diseño del clúster de Hadoop. – skaffman

Respuesta

10

En general, es mejor que Hadoop consiga algunas máquinas adicionales que sean menos fornidas. Casi nunca se ven los nodos de datos con más de 16 GB de RAM y CPU duales de cuatro núcleos, y con frecuencia son más pequeños que eso.

Siempre debe ejecutar uno como el namenode (maestro), y generalmente no ejecuta también un nodo de datos (worker/slave) en el mismo cuadro, aunque podría hacerlo dado que su clúster es pequeño. Sin embargo, suponiendo que no lo haga, obtener 2 máquinas le dejará solo 1 nodo de trabajador, lo que de alguna manera frustra el propósito. (No del todo, porque aún puede ejecutar de 4 a 8 trabajos en paralelo en el esclavo, pero aún así.)

Al mismo tiempo, no desea tener un clúster de 1000 486s. Si su presupuesto es de $ 5k, alcanzaría un equilibrio y haría 4 máquinas de $ 1200. Estos proporcionarán una línea de base decente en términos de rendimiento individual, tendrá 3 nodos de datos para distribuir el trabajo, y tendrá espacio para hacer crecer su clúster si lo necesita.

Cosas a tener en cuenta: querrá ejecutar múltiples mapas o reducir tareas por nodo de datos, y eso significa que varias JVM se ejecutarán simultáneamente. Yo trataría de obtener al menos 4GB, y preferiblemente 8GB RAM. La CPU es menos importante ya que la mayoría de los trabajos de MR están vinculados a IO. Es probable que consigas una máquina como esta para tu objetivo de precio de $ 1200, así que ese es mi voto.

6

En pocas palabras, desea maximizar la cantidad de núcleos y discos del procesador. Puedes sacrificar confiabilidad y calidad, pero no obtienes el hardware más barato, ya que tendrás demasiados problemas de confiabilidad.

Fuimos con Dell 2xCPU 4-core servidores dell, por lo que 8 núcleos por caja. 16 GB de memoria por caja, que es de 2 GB por núcleo, un poco bajo ya que necesita memoria para sus tareas y para el almacenamiento en búfer de disco. Discos duros de 5x500GB, y desearía que hubiésemos optado por unidades de terabyte o superiores.

Para unidades, mi opinión es comprar unidades más económicas, lentas, poco confiables y de alta capacidad en lugar de unidades más caras, más rápidas, más pequeñas y confiables. Si tiene problemas con el rendimiento del disco, más memoria ayudará con el almacenamiento en búfer.

Esta es probablemente una configuración más robusta de la que está considerando, pero maximizar los núcleos y unidades frente a comprar más cajas es generalmente una buena opción, menos costos de energía, más fácil de administrar y más rápido para algunas operaciones.

Más unidades significa un rendimiento de disco más simultáneo por núcleo, por lo que tener tantas unidades como núcleos es algo bueno. El benchmarking parece indicar que las configuraciones RAID son más lentas que la configuración JBOD (solo montando las unidades y teniendo Hadoop distribuyendo la carga entre ellas) y JBOD también es más confiable.

LAST! Asegúrese de obtener memoria ECC. Hadoop introduce terabytes de datos a través de la memoria, y algunos usuarios han descubierto que las configuraciones de memoria que no son ECC pueden ocasionalmente introducir errores de un solo bit en datasets de tamaño de terabyte. La depuración de estos errores es una pesadilla.

0

Creo que la respuesta también depende de Sus expectativas sobre el crecimiento del clúster y la tecnología de red que está utilizando.Si está bien con 1GB ethernet, entonces el tipo de máquina es menos significativo. Al mismo tiempo, si desea 10GBit de ethernet, debe optar por un número menor de máquinas mejores para reducir el costo de la red.

Cuestiones relacionadas