2017-06-26 8 views
1

Ich habe eine Scala-Anwendung, die Spark 2.1 im Standalone-Modus verwendet. Die Anwendung wird für 2 Stunden ausgeführt und beendet. Es sollte einmal im Monat laufen.Wie wird Spark eigenständig auf Kubernetes ausgeführt?

fand ich mehrere Ansätze Funken- und Kubernetes zu kombinieren:

  1. Verwendung Apache Spark-Helm-Diagramm: https://github.com/kubernetes/charts/tree/master/stable/spark
  2. Es gibt einen speziellen Zweig der Funke für Kubernetes: https://github.com/apache-spark-on-k8s/spark
  3. mein eigenes Docker bauen Bild Meine Anwendung einschließlich der Spark-Binär: http://blog.madhukaraphatak.com/scaling-spark-with-kubernetes-part-5/ Codebeispiel: https://github.com/phatak-dev/kubernetes-spark

Die meisten In der Dokumentation wird beschrieben, wie ein Spark-Cluster auf Kubernetes ausgeführt wird. Was ist der Ansatz, um Spark eigenständig auf Kubernetes auszuführen?

+1

"Was ist der beste Ansatz" - es ist primär auf der Meinung basiert. Allerdings hat die zweite Option offizielle Ticket in Spark Jira und kann in Spark –

+0

Dank integriert werden. Ich hatte den Eindruck, dass der Zweck des speziellen Zweiges von Spark für Kubernetes darin besteht, einen Spark-Cluster ohne Mesos laufen zu lassen. –

+0

Ich denke du meinst - "ohne allein zu laufen". Das ist richtig. Der spezielle Zweig dient dazu, Spark direkt auf Kubernetes auszuführen. Details sind in der JIRA und https://github.com/kubernetes/kubernetes/issues/34377 –

Antwort

1

Für Standalone-Funken auf Kubernetes die beiden kanonischen Proben, die vorhanden sind:

  1. https://github.com/kubernetes/charts/tree/master/stable/spark
  2. https://github.com/kubernetes/examples/tree/master/staging/spark

Diese derzeit veraltete Versionen von Funken ausgeführt und erfordern bis 2,1 Aktualisierung und bald 2.2. (PRs sind willkommen :)).

Der Zweig https://github.com/apache-spark-on-k8s/spark ist nicht für den Standalone-Modus gedacht, sondern soll es Spark ermöglichen, direkt auf Kubernetes-Clustern zu starten. Es wird schließlich in Upstream-Funken zusammengeführt werden. Dokumentation, wenn Sie davon Gebrauch machen wollen, ist here.

Ab jetzt, wenn Sie 2.1 Funken verwenden möchten, Möglichkeiten: entweder Ihr eigenes Bild zu erstellen, oder die Verpackung Ihrer Anwendung mit der Funkenverteilung in apache-spark-on-k8s

+0

Danke für die Antwort Anirudh. Ich versuche, eine minimale Lösung zu machen, die nur Spark auf einem Pod ohne einen laufenden/Dämon Spark-Master mit Funken Arbeiter installiert hat. Also zögere ich, Helm zu benutzen, da das Problem der Einrichtung eines voll funktionsfähigen Systems gelöst wird. –

Verwandte Themen