2017-01-26 8 views
1

Ich bin ziemlich neu für Spark und Kubernetes, aber ich versuche zu verstehen, wie dies in einer Produktionsumgebung funktionieren kann. Ich plane, Kubernetes zu verwenden, um einen Spark-Cluster bereitzustellen. Ich werde dann SparkStraeming verwenden, um Daten von Kafka zu verarbeiten und das Ergebnis in eine Datenbank auszugeben. Außerdem plane ich, einen geplanten Spark-Batch-Job einzurichten, der jede Nacht ausgeführt wird.So planen Sie Jobs in einem Funke-Cluster mit Kubernetes

1. Wie plane ich die nächtlichen Batch-Läufe? Ich verstehe, dass Kubernetes eine Cron-ähnliche Funktion hat (siehe documentation). Aber von meinem Verständnis her ist dies, Container-Bereitstellungen zu planen, ich werde bereits meine Container laufen lassen (da ich den Spark-Cluster für SparkStreaming verwende), ich möchte nur jeden Abend einen Job an den Cluster senden.

2. Wo kann ich die SparkStreaming-Anwendung (es gibt viele) speichern und wie starte ich sie? Trenne ich den Spark-Container von der SparkStreaming-Anwendung (d. H. Sollte der Container nur einen sauberen Spark-Knoten enthalten, und halte die SparkStreaming-Anwendung im persistenten Speicher und schiebe dann den Job mit kubectl in den Container)? Oder soll meine Docker-Datei meine SparkStreaming-Anwendung aus einem Repository klonen und für den Start verantwortlich sein?

Ich habe versucht, die Dokumentationen durchzusehen, aber ich bin unsicher, wie ich es einrichten soll. Jeder Link oder Verweis, der meine Frage beantwortet, wird sehr geschätzt.

Antwort

Verwandte Themen