Réglage mapred.enfant.java.opte en script Hive résultats dans M. boulot 'tué' tout de suite
J'ai eu un peu de travaux à défaut en raison de dépassement de mémoire et GC surcharge de dépassement des limites d'erreurs. Pour contrer l'ancienne, j'ai essayé de réglage SET mapred.child.java.opts="-Xmx3G";
au début du script hive**.
En fait tout le temps-je ajouter cette option dans le script, le MR emplois qui soient programmées(pour la première de plusieurs requêtes dans le script) sont "tués" droit de suite.
Des idées sur la façon de remédier à cela? Existe-il d'autres paramètres qui doivent être "bricolé" en collaboration avec le max de la mémoire(par exemple. io.sort.mb
)? Toute aide serait plus apprécié.
FWIW, je suis en utilisant hive-0.7.0
avec hadoop-0.20.2
. Le paramètre par défaut de max taille de segment de mémoire dans notre cluster est à 1200M d'altitude.
TIA.
** - D'autres solutions de rechange qui ont été essayé(avec effet comique, mais pas de changement perceptible dans les résultats):
SET mapred.child.java.opts="-Xmx3G";
SET mapred.child.java.opts="-server -Xmx3072M";
SET mapred.map.child.java.opts ="-server -Xmx3072M";
SET mapred.reduce.child.java.opts ="-server -Xmx3072M";
SET mapred.child.java.opts="-Xmx2G";
Mise à jour 1: Il est possible que ce n'est pas nécessairement quelque chose à voir avec le réglage de la taille du segment. Bricoler avec des mapred.enfant.java.opte en aucune manière, est à l'origine du même résultat. Par exemple le définir ainsi, SET mapred.child.java.opts="-XX:+UseConcMarkSweepGC";
est d'avoir le même résultat de M. emplois se faire tuer tout de suite. Ou encore la mise explicitement dans le script pour qu'est-ce que le " cluster par défaut sont les causes de cette.
Mise à jour 2: Ajout d'un pastebin d'un grep
de JobTracker journaux ici.
OriginalL'auteur decimus phostle | 2014-04-04
Vous devez vous connecter pour publier un commentaire.
Pensé que cela finirait par être quelque chose de trivial/inepte et c'était la fin.
Réglage
mapred.child.java.opts
ainsi:SET mapred.child.java.opts="-Xmx4G -XX:+UseConcMarkSweepGC";
est inacceptable. Mais cela semble aller de travers amende:
SET mapred.child.java.opts=-Xmx4G -XX:+UseConcMarkSweepGC;
(sans les guillemets)soupir. Avoir de meilleures options de débogage/messages d'erreur aurait été agréable.
OriginalL'auteur decimus phostle
Deux autres gardes peuvent restreindre la tâche de l'utilisation de la mémoire. Les deux sont conçus pour les admins pour faire respecter la QoS, donc si vous n'êtes pas l'un des admins sur le cluster, vous pouvez être incapable de changer.
Le premier est l'espace, qui peut être définie directement dans le système d'exploitation du nœud, ou par la mise en
mapred.enfant.ulimit
.Le second est une paire de cluster à l'échelle de
mapred.cluster.max.*.de la mémoire.mo
propriétés de l'application de l'utilisation de la mémoire en comparant les paramètres de travail demapred.job.map.memory.mb
etmapred.job.reduce.memory.mb
contre ceux de cluster à l'échelle de limites.mapred.child.java.opts
en aucune manière, est à l'origine du même résultat. Par exemple le définir ainsi,SET mapred.child.java.opts="-XX:+UseConcMarkSweepGC";
est d'avoir le même résultat de M. emplois se faire tuer tout de suite. Ou encore la mise explicitement dans le script pour qu'est-ce que le " cluster par défaut sont les causes de cette.Hmm, vous êtes en mesure d'accéder à l'emploi consigne? Il y a peut être plus de détails sur l'échec de là.
J'ai essayé de chalut à travers eux. Les seuls indices que je vois, il y a des tentatives pour planifier des tâches qui sont données locales. Je ne vois pas la tâche de consigne 'cuz: a) tracker d'Emploi uniquement les journaux semblent que certains nœuds ont des "splits'. Cependant, il ne fait pas de rapport de planification des tâches. b) la Vérification pour "tentative" journaux sur TT les nœuds(qui sont répertoriés comme ayant splits) donne rien. J'ai le sentiment qu'il y a de la Ruche vaudou passe - avant même l'exécution de la requête commence, surtout depuis les travaux se sont "tués" et pas nécessairement "à défaut de". Cependant, je ne vois rien dans
hive.log
.Ajout d'un pastebin d'un
grep
de JobTracker journaux ici.On dirait que c'est juste l'utilisation de guillemets dans l'établissement de la valeur de l'option qui a été à l'origine du problème. soupir. Les détails dans la réponse que j'ai ajouté. Merci pour votre aide, btw. Très apprécié.
OriginalL'auteur Daniel S.