2016-03-22 11 views
0

Wenn ich CapacityScheduler Queues in Garn definieren, wie hierHadoop Kapazität Scheduler und Funken

http://hadoop.apache.org/docs/current/hadoop-yarn/hadoop-yarn-site/CapacityScheduler.html

erklärt, wie kann ich diesen Funken Gebrauch machen?

Ich möchte Funke-Jobs ausführen ... aber sie sollten nicht den gesamten Cluster aufnehmen, sondern auf einem CapacityScheduler ausführen, der eine feste Menge von Ressourcen zugewiesen hat.

Ist das möglich ... speziell auf der Cloudera-Plattform (angesichts der Funken auf Cloudera läuft auf Garn?).

Antwort

1
  1. Sie sollten den CapacityScheduler nach Bedarf konfigurieren, indem Sie capacity-scheduler.xml bearbeiten. Sie müssen außerdem yarn.resourcemanager.scheduler.class in yarn-site.xml als org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler angeben. Dies ist auch eine Standardoption für die aktuelle hadoop-Version
  2. Übergeben Sie den Funke Job an eine designierte Warteschlange.

zB:

$ ./bin/spark-submit --class org.apache.spark.examples.SparkPi \ 
    --master yarn \ 
    --deploy-mode cluster \ 
    --driver-memory 4g \ 
    --executor-memory 2g \ 
    --executor-cores 1 \ 
    --queue thequeue \ 
    lib/spark-examples*.jar \ 
    10 

Die --queue gibt die Warteschlange Sie einreichen, die mit Ihrer CapacityScheduler Konfiguration angepasst werden sollte