2009-06-10 6 views
8

Nous allons acheter du nouveau matériel à utiliser uniquement pour un cluster Hadoop et nous sommes bloqués sur ce que nous devrions acheter. Supposons que nous ayons un budget de 5 000 $ si nous achetons deux superbes machines à 2 500 $ chacune, quatre à environ 1 200 $ chacune ou huit à environ 600 $ chacune. Est-ce que hadoop fonctionnera mieux avec des machines plus lentes ou avec des machines beaucoup plus rapides? Ou, comme la plupart des choses "ça dépend"? :-)Hadoop cluster. 2 machines rapides, 4 moyennes, 8 plus lentes?

+0

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

+4

Ce n'est pas un problème sysadmin. Les ressources disponibles pour Hadoop sont inhérentes à la conception du cluster Hadoop. – skaffman

Répondre

10

Vous êtes généralement mieux avec Hadoop obtenir quelques machines supplémentaires qui sont moins costauds. Vous ne voyez presque jamais de datanodes avec plus de 16 Go de RAM et de processeurs quad-core doubles, et souvent ils sont plus petits que cela.

Vous devez toujours en exécuter un en tant que nom de noeud (maître), et généralement vous ne lancez pas non plus un noeud de données (travailleur/esclave) sur la même boîte, bien que vous le puissiez. En supposant que vous n'avez pas, cependant, obtenir 2 machines ne vous laissera que 1 nœud de travail, ce qui va à l'encontre du but. (Pas tout à fait, car vous pouvez toujours exécuter 4-8 travaux en parallèle sur l'esclave, mais quand même.)

En même temps, vous ne voulez pas avoir un cluster de 1000 486s. Si votre budget est de 5 000 $, je trouverais un équilibre et je ferais 4 machines de 1 200 $. Ceux-ci fourniront une base décente en termes de performance individuelle, vous aurez 3 datanodes à distribuer, et vous aurez la possibilité de développer votre cluster si vous en avez besoin. Ce qu'il faut garder à l'esprit: vous devez exécuter plusieurs cartes ou réduire les tâches par datanode, ce qui signifie que plusieurs JVM s'exécutent simultanément. Je voudrais essayer d'obtenir au moins 4 Go, et de préférence 8 Go de RAM. Le processeur est moins important car la plupart des travaux MR sont liés à l'E/S. Vous pourriez probablement obtenir une machine comme celle-ci pour votre objectif de prix de 1200 $, alors c'est mon vote.

6

En un mot, vous voulez maximiser le nombre de cœurs de processeurs et de disques. Vous pouvez sacrifier la fiabilité et la qualité, mais n'obtenez pas le matériel le moins cher, car vous aurez trop de problèmes de fiabilité.

Nous sommes allés avec Dell 2xCPU 4-core dell serveurs, donc 8 noyaux par boîte. 16 Go de mémoire par boîte, soit 2 Go par cœur, un peu bas car vous avez besoin de mémoire à la fois pour vos tâches et pour la mise en mémoire tampon du disque. Disques durs de 5x500GB, et j'aurais aimé que nous allions plutôt sur des téraoctets ou des lecteurs plus puissants. Pour les lecteurs, mon avis est d'acheter des lecteurs plus économiques, lents, peu fiables et de grande capacité, plutôt que des lecteurs plus chers, plus rapides, plus petits et plus fiables. Si vous rencontrez des problèmes avec le débit du disque, plus de mémoire aidera à la mise en mémoire tampon. Il s'agit probablement d'une configuration plus robuste que celle que vous envisagez, mais il est généralement préférable d'utiliser des cœurs et des lecteurs plutôt que d'acheter plus de boîtiers - moins de coûts d'énergie, plus facile à administrer et plus rapide pour certaines opérations. Plus de disques signifie plus de débit de disque simultané par cœur, donc avoir autant de disques que de cœurs est une bonne chose. L'analyse comparative semble indiquer que les configurations RAID sont plus lentes que la configuration JBOD (il suffit de monter les disques et de répartir la charge Hadoop entre eux) et JBOD est également plus fiable.

DERNIÈRE! Assurez-vous d'avoir la mémoire ECC. Hadoop pousse des téraoctets de données dans la mémoire, et certains utilisateurs ont découvert que des configurations de mémoire non-ECC peuvent occasionnellement introduire des erreurs de bits uniques dans des jeux de données de la taille d'un téraoctet. Déboguer ces erreurs est un cauchemar.

0

Je pense que la réponse dépend également de vos attentes de la croissance de la grappe et de la technologie de réseautage que vous utilisez.Si vous êtes d'accord avec 1GB ethernet - alors le type de machines est moins important. Dans le même temps - si vous voulez Ethernet 10GBit - vous devriez opter pour un plus petit nombre de meilleures machines pour réduire le coût de mise en réseau.

Questions connexes