/ / Überschreibe die Spark-Anwendungsressourcenanforderungen - apache-spark

Überschreiben Sie die Ressourcenanforderungen der Spark-Anwendung - apache-spark

Ich bin gerade dabei, einen Spark-Cluster einzurichten, der von mehreren Kundengruppen genutzt wird, und ich bin etwas verwirrt in Bezug auf die Methode der Ressourcenzuweisung in Spark.

Es scheint, dass das Governance-Modell des SparkCluster fehlt etwas, da jede Anwendung ihre eigenen Ressourcenanforderungen spezifizieren kann, was effektiv den gesamten Cluster verbraucht und andere Anwendungen blockiert.

Ich weiß, dass ich spark.deploy verwenden kann.Standardcores, um Fälle von Anwendungen zu eliminieren, die versehentlich alle verfügbaren Kerne anfordern, aber das Szenario, in dem eine Anwendung die Datei "spark.cores.max" angegeben hat, die viel höher ist, als sie eigentlich erhalten sollte. Dies ist ein echtes Problem in einem geteilten Cluster ...

Gibt es eine Möglichkeit, die von einer einzelnen Anwendung angegebenen Ressourcenanforderungen zu überschreiben?

Antworten:

2 für die Antwort № 1

Spark in einem freigegebenen Cluster wird kein Problem verursachen, da Sie Spark-Anwendung meist auf einem Ressourcenmanager wie Garn oder Mesos ausführen würden.

Garn / Mesos sind beide sehr gut in Bezug aufRessourcenverwaltung, können Sie Ihre eigene Warteschlange in Garn für verschiedene Gruppen erstellen. Sie können den Scheduler-Algorithmus für die Warteschlangen auswählen, die Sie zum Planen von Jobs mehrerer Benutzer erstellen.

Abgesehen davon können Sie die dynamische Ressourcenzuweisung in spark aktivieren, die eine Ressourcenzuweisung / -zurücksetzung nach Bedarf ermöglicht.