2016-04-11 10 views
0

Ist es möglich, 2 Spark-Cluster innerhalb eines einzigen großen Yarn-Clusters zu definieren? Spark im Yarn-Modus Ich meine natürlich, ich könnte Spark im Standalone-Modus bereitstellen.Zwei Spark Clusters in einem einzelnen Garn-Cluster

sagen, dass ich die folgenden Maschinen:

  • h1, H2, H3
  • k4, k5, k6
  • s1, s2, s3, s4, s5, s6
  • T1, T2 , t3

Die Nummer steht für das Rack. Auf h Ich habe HDFS, auf k Ich habe Kafka, auf s und t Ich möchte Spark installieren. Auf allen Maschinen gibt es Garn, also hat der Cluster insbesondere eine Vorstellung von der Rack-Lokalität.

Ich hätte gerne zwei isolierte Spark-Cluster auf s und t, so dass, wenn ich einen Job auf einer der t Maschinen (im Yarn-Modus), keine Aufgabe auf den Maschinen und umgekehrt.

Ist das möglich? Danke, E.

+0

Meinst du, dass du 2 Jobs parallel auf Garn einreichen willst? Ein Cluster ist eine Maschinengruppe. – eliasah

+0

Nein, ich meine Cluster als Gruppe von Maschinen - ich habe einen großen Garn Cluster und ich möchte 2 isolierte Funken in diesem erstellen. – ecesena

Antwort

0

Dies ist nicht möglich und um ehrlich zu sein, ergibt auch keinen Sinn.

Garn ist ein Ressourcenmanager, s * und t * sind seine Ressourcen. Da Sie den Funke-Job von einem der Knoten übergeben können, unterscheidet Garn nicht zwischen ihnen, also wird die Ressource, die Sie anfordern, dynamisch zugewiesen, wenn Sie einen Parameter festlegen.

Jetzt macht es keinen Sinn, Ihre Ressource zu teilen, denn wenn ein Auftrag 2 Stunden dauert, um 3 Knoten zu beenden, dauert es möglicherweise nur 1 Stunde, um auf 6 Knoten zu enden. Und Garne haben Warteschlangen, die eingehende Jobanforderungen verfolgen, so dass sie den zugewiesenen Speicher für den laufenden Job dynamisch reduzieren/erhöhen können.

+0

Danke für die Antwort, ich werde versuchen, mehr zu erkunden - in Ihrem Beispiel, mir geht es gut, wenn dieser Job 2 Stunden dauert, aber ich möchte andere höherprioritäre Jobs nicht verzögert werden, weil dieser erste auf den Rechnern spawn wo es sollte nicht. Das ist zumindest das, was ich erreichen möchte, immer noch unsicher, ob es machbar ist. – ecesena

+0

Es ist machbar. Garn kann mehrere Warteschlangen mit unterschiedlichen Prioritätsstufen haben. Wenn also ein Job in einer Warteschlange mit niedrigerer Priorität ausgeführt wird und ein neuer Job in der Warteschlange mit höherer Priorität angezeigt wird. Die aktuelle Ressource für laufende Jobs wird nach Abschluss des aktuellen Zyklus reduziert (wenn sie mit dynamischer Speicherzuweisung übergeben wurde), und Garn führt Jobs mit höherer Priorität parallel aus. –