Différence entre les " fils de.le planificateur.maximum de l'allocation de mo` et `fils.nodemanager.de la ressource.mémoire-mo`?
Quelle est la différence entre yarn.scheduler.maximum-allocation-mb
et yarn.nodemanager.resource.memory-mb
?
Je vois les deux dans yarn-site.xml
et je vois les explications ici.
yarn.scheduler.maximum-allocation-mb
est donné la définition suivante: L'allocation maximale pour chaque conteneur demande de la société, en mo. Les demandes de mémoire plus élevée que cette va lancer une InvalidResourceRequestException. Est-ce à dire demandes de mémoire UNIQUEMENT sur la classe resourcemanager sont limitées par cette valeur?
Et yarn.nodemanager.resource.memory-mb
est donné de définition de Quantité de mémoire physique, en MO, qui peut être allouée pour les conteneurs. Est-ce à dire que le montant total pour tous les conteneurs à travers l'ensemble du cluster, additionnées?
Cependant, je n'arrive pas à discerner entre ces. Ces explications me font penser qu'ils sont les mêmes.
Encore plus de confusion, leurs valeurs par défaut sont exactement les mêmes: 8192 mo. Comment puis-je dire de la différence entre ces? Merci.
OriginalL'auteur Candic3 | 2017-05-07
Vous devez vous connecter pour publier un commentaire.
Envisager dans un scénario où vous configurez un cluster où chaque machine ayant 48 GO de RAM. Une partie de cette RAM doit être réservée pour le Système d'Exploitation et d'autres applications installées.
fil.nodemanager.de la ressource.mémoire-mo:
Quantité de mémoire physique, en MO, qui peut être allouée pour les conteneurs. Cela signifie que la quantité de mémoire FILS peut l'utiliser sur ce nœud et, par conséquent, cette propriété
doit être inférieure à la quantité totale de mémoire de la machine.
La prochaine étape est de donner du FIL des conseils sur la façon de briser le total des ressources disponibles dans des Conteneurs. Vous faites cela en spécifiant l'unité minimale de RAM à allouer pour un Conteneur.
Dans
yarn-site.xml
fil.le planificateur.maximum de l'allocation-mo:
Il définit l'allocation de mémoire maximale disponible pour un conteneur en MO
cela signifie RM ne peut allouer de la mémoire pour les conteneurs en incréments de
"yarn.scheduler.minimum-allocation-mb"
et ne pas dépasser"yarn.scheduler.maximum-allocation-mb"
et Il ne devrait pas être plus total alloué à la mémoire du Nœud.Dans
yarn-site.xml
Pour les applications MapReduce, FILS de chaque carte ou de réduire la tâche dans un conteneur, sur une seule machine, il peut y avoir nombre de conteneurs.
Nous voulons permettre à un maximum de 20 conteneurs sur chaque nœud, et donc besoin de (40 GO de mémoire RAM totale) /(20 nombre de conteneurs) = 2 GO minimum par conteneur est contrôlée par la propriété
yarn.scheduler.minimum-allocation-mb
Encore, nous voulons limiter au maximum l'utilisation de la mémoire pour un conteneur contrôlée par la propriété
"yarn.scheduler.maximum-allocation-mb"
Par exemple, si un travail est demandé à 2049 MO de mémoire par carte conteneur(
mapreduce.map.memory.mb=2048 set in mapred-site.xml
), RM donner une 4096 MO(2*yarn.scheduler.minimum-allocation-mb
) conteneur.Si vous avez un énorme MONSIEUR le travail qui demande un 9999 MO carte conteneur, le travail sera tué avec le message d'erreur.
<!-- RAM-per-container -> <value>2048</value>
-- Je ne pense pas que c'est nécessairement "RAM par conteneur" parce que je pense quespark.executor.memory
est de savoir combien de mémoire est définie par conteneur/exécuteur testamentaire.oui, tous ces paramètres pour la carte de réduire les applications, et peut être remplacé par l'utilisateur paramètre défini dans l'application.
Spark a-t-il un paramètre de configuration et il sera remplacé par spark applications.
La valeur par défaut sont juste des connaissances et non pas un cluster de recommandation. HDP ou Cloudera fournit un utilitaire pour recalculer ces paramètres pour le déploiement.
visitez ce lien pour plus d'informations sur la mémoire de calcul :docs.hortonworks.com/HDPDocuments/HDP2/HDP-2.4.3/...
OriginalL'auteur Sandeep Singh