2017-04-13 2 views
0

Derzeit bin ich mit dem Yarn Scheduler Standard möchte aber so etwas wie zu tun -Gibt es eine Möglichkeit, den Yarn Scheduler zur Laufzeit zu konfigurieren und zu ändern?

Run Yarn using the default scheduler 
If (number of jobs in queue > X) { 
    Change the Yarn scheduler to FIFO 
} 

Ist dies überhaupt möglich durch den Code?

Beachten Sie, dass ich Spark-Jobs auf einem aws EMR-Cluster mit Garn als RM ausführen.

+1

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

+0

Warum denkst du, es wäre ein Overkill? –

+1

einfach nicht so einfach wie Ihr Pseudocode ist alles;) – tbone

Antwort

1

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 
Verwandte Themen