En bref (estimation approximative):
Total throughput [mb/sec] = total MBytes processed/test exec time
donc ~ 2.5GB dans votre cas.
Ou, pour obtenir des résultats plus précis, savoir quel est le nombre de créneaux cartographiques disponibles sur votre cluster (VCores au total de la console de fil fera) et essayer celui-ci:
Total throughput mb/sec = min(nrFiles, VCores total - 1) * Throughput mb/sec
Mais je recommander de répéter ce test avec des paramètres légèrement différents en raison de très haut IO taux std écart résultat (82.41435666074283).
Vous définissez le nombre de fichiers à 10k. Je suppose que le cluster décrit n'a pas de fentes de carte 10k disponibles. Maintenant, parce que TestDFSIO s'exécute avec une carte par fichier, il faudra plus d'une onde MapReduce pour terminer le test. Ceci est inutile. De plus, la dernière vague fonctionne généralement avec moins de cartes que les vagues précédentes. Moins de cartes fonctionnant en même temps génèrera un meilleur débit individuel et affectera la précision. Exemple:
Il est donc préférable de définir le nombre de tâches sur un niveau inférieur. Le nombre total de pilotes dans les datanodes est un bon point de départ. Regardez le graphique suivant:
J'ai exécuté TestDFSIO plusieurs fois avec différentes valeurs de paramètre nrFiles. Vous pouvez voir qu'après avoir traversé un certain point (saturation des disques dans ce cas) il n'y a pas grand-chose. Le débit total de ce cluster a été atteint à 2,3 Go/s. Donc, pour répondre à votre question, vous pouvez obtenir le débit total du fonctionnement du cluster:
hdfs yarn jar hadoop-mapreduce-client-jobclient.jar TestDFSIO -write -nrFiles N -size 10GB
Où:
- N = 3/replication_factor * total_datanodes_drives
- -size doit être réglé à quelque chose cela laissera le test tourner pendant au moins 10min
Le débit total pourrait être calculé en utilisant les valeurs des résultats, comme ceci:
Total throughput [mb/sec] = nrFiles * Throughput mb/sec
choses à surveiller:
- HDFS espace libre;) test va générer: réplication * Taille * nrFiles quantité de données.Ne dépassez pas 60% de votre capacité de cluster.
- nrFiles doivent être inférieurs à fentes de carte disponible (nrFiles < = VCores au total - 1, sur fil)
est pas "débit total mb/sec" fait Mo/sec et non mb/seconde? – Testing123