Nun, es kann möglich sein, indem ein Poller die aktuelle Warteschlange überprüft (RM-API verwendet) und updated garn-site.xml + wahrscheinlich Neustart von RM. Das Neustarten von RM kann sich jedoch auf Ihre Warteschlange auswirken, da die aktuellen Jobs beendet oder beendet werden (und wahrscheinlich später erneut ausgeführt werden).
Wenn Sie einen effizienteren Wechsel zwischen Kapazitäts- und FIFO-Scheduler benötigen, können Sie diese Klassen auch erweitern und Ihren eigenen Scheduler entwerfen, der die Arbeit Ihres Pseudocodes erledigt.
EMR verwendet standardmäßig den Kapazitätsplaner mit DefaultResourceCalculator und aktiviert Aufträge in der Standardwarteschlange. Zum Beispiel hat EMR Garn Konfigurationen auf einem Pfade wie folgt aus:
/home/hadoop/.versions/2.4.0-amzn-6/etc/hadoop/yarn-site.xml
<property><name>yarn.resourcemanager.scheduler.class</name><value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value></property>
with
/home/hadoop/.versions/2.4.0-amzn-6/etc/hadoop/capacity-scheduler.xml
org.apache.hadoop.yarn.util.resource.DefaultResourceCalculator
Es kann viel des Guten für Sie sein, aber wenn Sie die automatische Umverteilung von Warteschlangen/Ressourcen konfigurieren möchten, können Sie Vorkaufsrecht aussehen in (ehrlich ich bin schau es mir selbst an, also bin ich kein Experte). Siehe [hier] (https://hortonworks.com/blog/better-slas-via-resource-preemption-in-yarns-capacityscheduler/) und [hier] (https://docs.hortonworks.com/HDPDocuments/HDP2 /HDP-2.4.2/bk_yarn_resource_mgt/content/preemption.html) für einen guten Überblick. – tbone
Warum denkst du, es wäre ein Overkill? –
einfach nicht so einfach wie Ihr Pseudocode ist alles;) – tbone