Freigeben über


Zuverlässigkeit in Azure Databricks

Azure Databricks ist eine zusammenarbeitende Apache Spark-basierte Daten- und KI-Plattform, die für Microsoft Azure optimiert ist. Es bietet eine einheitliche Umgebung für Big Data- und KI-Workloads und kombiniert das Beste aus Databricks und Azure, um Datentechnik, Data Science und maschinelles Lernen zu vereinfachen.

Wenn Sie Azure verwenden, ist Zuverlässigkeit eine gemeinsame Verantwortung. Microsoft bietet eine Reihe von Funktionen zur Unterstützung von Resilienz und Wiederherstellung. Sie sind dafür verantwortlich, zu verstehen, wie diese Funktionen in allen von Ihnen verwendeten Diensten funktionieren, und die Funktionen auswählen, die Sie benötigen, um Ihre Geschäftsziele und Uptime-Ziele zu erfüllen.

In diesem Artikel wird beschrieben, wie Azure Databricks Resilienz gegenüber verschiedenen potenziellen Ausfällen und Problemen aufrecht erhält und wie Sie Resilienz konfigurieren können, um Ihre Anforderungen zu erfüllen. Die Anleitung umfasst vorübergehende Fehler, Verfügbarkeitszonenausfälle, Regionsausfälle und Servicewartung. In diesem Artikel wird auch beschrieben, wie Sie Sicherungen verwenden, um aus anderen Problemen wiederherzustellen, und hebt wichtige Informationen zum Azure Databricks Service Level Agreement (SLA) hervor.

Bereitstellungsempfehlungen für die Produktion

Informationen zum Bereitstellen von Azure Databricks zur Unterstützung der Zuverlässigkeitsanforderungen Ihrer Lösung und wie sich die Zuverlässigkeit auf andere Aspekte Ihrer Architektur auswirkt, finden Sie unter Architektur bewährte Methoden für Azure Databricks.

Übersicht über die Zuverlässigkeitsarchitektur

Sie müssen die Zuverlässigkeit jeder primären Komponente in Azure Databricks verstehen:

  • Die Steuerungsebene ist eine Sammlung zustandsloser Dienste, die Arbeitsbereichsmetadaten, Benutzerzugriff, Auftragsplanung und Clusterverwaltung verwaltet. Diese Dienste werden von Datenbanken gesichert, die über Verfügbarkeitszonen in unterstützten Regionen repliziert werden.

  • Databricks File System (DBFS)-Stamm ist ein Speicherkonto, das Azure Databricks automatisch bereitstellen kann, wenn Sie einen Azure Databricks-Arbeitsbereich in Ihrem Cloudkonto erstellen. Es wird empfohlen, daten nicht im DBFS-Stamm zu speichern und dieses Speicherkonto nach Möglichkeit zu deaktivieren.

  • Der Unity-Katalogspeicher enthält ein oder mehrere Speicherkonten, die Ihre Unity-Katalogdaten in Ihrem Cloudkonto speichern. Weitere Informationen finden Sie in der Übersicht über den Unity-Katalog.

  • Die Computeebene führt Datenverarbeitungsworkloads mithilfe von Clustern virtueller Computer (VMs) aus. Die Computeebene verarbeitet vorübergehende Fehler und ersetzt automatisch fehlgeschlagene Knoten ohne Benutzereingriff. Sie können aus mehreren Arten von Computeressourcen wählen. Weitere Informationen finden Sie unter Compute.

    Die Verfügbarkeit des Arbeitsbereichs hängt von der Verfügbarkeit der Steuerebene ab, aber Computecluster können aufträge auch bei Unterbrechungen der Steuerungsebene weiter verarbeiten.

Resilienz für vorübergehende Fehler

Vorübergehende Fehler sind kurze, zeitweilige Fehler in Komponenten. Sie treten häufig in einer verteilten Umgebung wie der Cloud auf und sind ein normaler Bestandteil von Vorgängen. Vorübergehende Fehler korrigieren sich nach kurzer Zeit. Es ist wichtig, dass Ihre Anwendungen vorübergehende Fehler behandeln können, in der Regel durch Wiederholen betroffener Anforderungen.

Alle in der Cloud gehosteten Anwendungen sollten die Anleitung zur vorübergehenden Fehlerbehandlung von Azure befolgen, wenn sie mit cloudgehosteten APIs, Datenbanken und anderen Komponenten kommunizieren. Weitere Informationen finden Sie unter Empfehlungen zum Umgang mit vorübergehenden Fehlern.

Sie können Wiederholungsversuche für Vorgänge innerhalb von Lakeflow-Aufträgen steuern , um sich aus vorübergehenden Fehlern zu erholen.

Implementieren Sie bei Anwendungen, die auf Azure Databricks ausgeführt werden, Wiederholungslogik mit exponentiellem Backoff, wenn Sie eine Verbindung mit externen Diensten oder Azure-Diensten herstellen, z. B. Speicher, Azure SQL-Datenbank oder Azure Event Hubs. Databricks Runtime enthält integrierte Resilienz für viele Azure-Dienste, aber Ihr Anwendungscode sollte dienstspezifische vorübergehende Fehler behandeln.

Ausfallsicherheit bei Ausfällen von Verfügbarkeitszonen

Verfügbarkeitszonen sind physisch getrennte Gruppen von Rechenzentren innerhalb einer Azure-Region. Wenn eine Zone ausfällt, erfolgt ein Failover der Dienste zu einer der verbleibenden Zonen.

Azure Databricks unterstützt Zonenredundanz für jede Komponente:

  • Steuerebene: In Regionen, die Verfügbarkeitszonen unterstützen, wird die Steuerungsebene in mehreren Verfügbarkeitszonen ausgeführt. Die Steuerebene behandelt Zonenfehler automatisch, mit minimalen Auswirkungen und ohne erforderliche Benutzereingriffe.

    Arbeitsbereichsdaten der Steuerungsebene werden in Datenbanken gespeichert. In Regionen, die Verfügbarkeitszonen unterstützen, werden die Datenbanken in mehreren Zonen in der Region repliziert. Speicherkonten, die Databricks-Runtime-Images bedienen, sind auch innerhalb der Region redundant. Alle Regionen verfügen über sekundäre Speicherkonten, die verwendet werden, wenn das primäre Speicherkonto deaktiviert ist.

  • DBFS-Stamm: In Regionen, die Verfügbarkeitszonen unterstützen, können Sie das Speicherkonto für den DBFS-Stamm so konfigurieren, dass zonenredundanter Speicher (ZRS) verwendet wird. In gekoppelten Regionen, die Verfügbarkeitszonen unterstützen, können Sie optional geozonenredundanten Speicher (GZRS) verwenden.

  • Computeebene: Databricks unterstützt die automatische Zonenverteilung für Computeressourcen. Dies bedeutet, dass Ihre Ressourcen über mehrere Verfügbarkeitszonen verteilt werden. Diese Verteilung ermöglicht es Ihren Produktionsworkloads, Resilienz gegenüber Zonenausfällen zu erreichen.

    Wenn Sie serverlose Berechnung verwenden, wählen Sie keine expliziten Zonen für die Berechnung aus. Databricks verwaltet die Zonenauswahl von VMs und den Austausch von VMs, die aufgrund von Zonenausfällen verlorengehen können.

Anforderungen

Um die Verfügbarkeitszonenunterstützung in Azure Databricks zu verwenden, benötigen Sie die folgenden Anforderungen:

  • Regionsunterstützung: Die Verfügbarkeitszonenunterstützung von Azure Databricks ist in allen Azure-Regionen verfügbar, die Azure Databricks unterstützen und Verfügbarkeitszonen bereitstellen. Eine Liste der Regionen, die Azure Databricks unterstützen, finden Sie unter "Nach Region verfügbare Produkte". Eine vollständige Liste der Regionen, die Verfügbarkeitszonen unterstützen, finden Sie in Azure-Regionen, die Verfügbarkeitszonen unterstützen.

  • Speicherreplikation: Konfigurieren Sie Arbeitsbereichsspeicherkonten für die Verwendung von ZRS oder GZRS (sofern verfügbar).

  • Computekapazität: Stellen Sie sicher, dass über mehrere Zonen in Ihrer Zielregion ausreichende Rechenkapazität vorhanden ist. Azure Databricks verteilt Automatisch Clusterknoten über Zonen hinweg, aber Sie sollten überprüfen, ob Ihre ausgewählten Instanztypen in allen Zielzonen verfügbar sind.

Überlegungen

Azure Databricks verteilt automatisch Clusterknoten über Verfügbarkeitszonen. Die Verteilung hängt von der verfügbaren Kapazität in jeder Zone ab. In Zeiten mit hoher Nachfrage können die Knoten eines Clusters in weniger Zonen konzentriert werden. Wenn Sie serverlose Compute verwenden, verwaltet Azure Databricks die Zonenauswahl von VMs und den Ersatz von VMs, die aufgrund von Zonenausfällen verloren gehen können.

Kosten

Die Zonenverteilung wirkt sich nicht auf die Berechnungskosten aus, da Sie unabhängig von der Platzierung der Verfügbarkeitszone für dieselbe Anzahl von virtuellen Computern bezahlen. Weitere Informationen finden Sie unter Azure Databricks compute pricing.

Die Standardredundanz für das verwaltete Speicherkonto oder den DBFS-Stamm ist georedundanter Speicher (GRS). Änderungen an ZRS oder GZRS können sich auf Ihre Speicherkosten auswirken. Weitere Informationen finden Sie unter Azure Blob Storage – Preise.

Konfigurieren der Unterstützung von Verfügbarkeitszonen

  • Steuerebene: Die Steuerebene unterstützt automatisch Zonenredundanz in Regionen mit Verfügbarkeitszonen. Sie müssen nichts konfigurieren.

  • DBFS-Stamm: Sie können Zonenredundanz für den DBFS-Stammspeicher konfigurieren, wenn Sie einen neuen Arbeitsbereich erstellen oder einen vorhandenen Arbeitsbereich ändern:

    • Neuen Arbeitsbereich mit zonenredundanten DBFS-Stammspeicher erstellen: Wenn Sie einen neuen Azure Databricks-Arbeitsbereich erstellen, können Sie optional das zugeordnete Speicherkonto so konfigurieren, dass ZRS oder GZRS anstelle des Standard-GRS verwendet wird. Weitere Informationen finden Sie unter Ändern der Speicherredundanzoptionen des Arbeitsbereichs.

    • Zonenredundanz im DBFS-Stammspeicher aktivieren: Für vorhandene Arbeitsbereiche können Sie die Redundanzkonfiguration des Arbeitsbereichsspeicherkontos in ZRS oder GZRS ändern. Weitere Informationen zum Aktivieren von Zonenredundanz finden Sie unter Ändern der Replikationseinstellungen für ein Speicherkonto.

  • Compute-Ebene: Clusterknoten werden automatisch über Verfügbarkeitszonen verteilt. Für die Zonenverteilung ist keine Kundenkonfiguration erforderlich.

Verhalten, wenn alle Zonen fehlerfrei sind

In diesem Abschnitt wird beschrieben, was Sie erwarten müssen, wenn ein Arbeitsbereich mit Unterstützung der Verfügbarkeitszone konfiguriert ist und alle Verfügbarkeitszonen betriebsbereit sind.

  • Datenreplikation zwischen Zonen: Die Datenreplikation für die Arbeitsbereichsspeicherung erfolgt synchron über Zonen hinweg, wenn dbFS-Stamm ein ZRS- oder GZRS-Konto verwendet. Dieser Ansatz sorgt für eine starke Konsistenz mit minimalen Leistungseinbußen.

  • Datenverkehrsrouting zwischen Zonen: Azure Databricks verteilt während der Clustererstellung automatisch Clusterknoten über Zonen. Der Dienst verteilt die Rechenlast über Zonen hinweg, während die Datenlokalität für eine optimale Leistung erhalten bleibt.

Verhalten bei einem Zoneausfall

In diesem Abschnitt wird beschrieben, was Sie erwarten müssen, wenn ein Arbeitsbereich mit unterstützung der Verfügbarkeitszone konfiguriert ist und ein Ausfall der Verfügbarkeitszone vorhanden ist.

  • Erkennung und Reaktion: Microsoft erkennt Zonenfehler automatisch und initiiert Antwortprozeduren. Sie brauchen keine Maßnahmen für ein Failover auf Zonenebene zu ergreifen.

  • Benachrichtigung: Microsoft benachrichtigt Sie nicht automatisch, wenn eine Zone deaktiviert ist. Sie können aber die Statusseite von Azure Databricks verwenden, um eine Übersicht über alle kernigen Azure Databricks-Dienste anzuzeigen. Sie können auch Statusupdates für einzelne Dienstkomponenten abonnieren und eine Benachrichtigung erhalten, wenn sich der Status des von Ihnen abonnierten Diensts ändert.

  • Aktive Anforderungen: Laufende Cluster könnten Knoten in der betroffenen Zone verlieren. Der Cluster-Manager fordert automatisch Ersetzungsknoten aus verbleibenden Zonen an. Wenn der Treiberknoten verloren geht, starten der Cluster und der Auftrag vollständig neu.

  • Erwarteter Datenverlust:

    • Steuerebene: Während eines Zonenausfalls wird kein Datenverlust erwartet.

    • DBFS-Stamm: Arbeitsbereichsdaten bleiben verfügbar, wenn sie ZRS- oder GZRS-Speicherkonfigurationen verwendet.

    • Berechnungsebene: Daten, die auf VMs zwischengespeichert werden, sind flüchtig. Alle daten, die während eines Zonenfehlers von VMs verloren gegangen sind, werden aus dem Speicher wiederhergestellt. Wenn der Führungsknoten verloren geht, wird der Auftrag neu gestartet und die Ergebnisse werden neu berechnet.

  • Erwartete Downtime:

    • Steuerebene: Die Steuerebene von Databricks führt innerhalb von ca. 15 Minuten ein automatisches Failover zu gesunden Zonen durch.

    • DBFS-Stamm: Erwarten Sie keine Ausfallzeiten für Speicherkonten, die ZRS oder GZRS verwenden.

    • Computeebene: Wenn Knoten verloren gehen, da sich ihre VMs in der betroffenen Verfügbarkeitszone befinden, fordert der Azure-Cluster-Manager Ersatzknoten vom Azure-Computeanbieter an. Wenn die verbleibenden fehlerfreien Zonen über ausreichende Kapazität zum Erfüllen der Anforderung verfügen, ruft der Computeanbieter Knoten aus den fehlerfreien Zonen ab, um die verlorenen Knoten zu ersetzen. Dieser Vorgang kann mehrere Minuten dauern.

      Wenn der Treiberknoten aufgrund des Zonenfehlers verloren geht, wird der gesamte Cluster neu gestartet, was im Vergleich zum Verlust von Arbeitsknoten zu längeren Wiederherstellungszeiten führen kann. Planen Sie dieses Verhalten in Ihren Arbeitsplanungs- und Überwachungsstrategien.

      Sie können Serverlose oder Instanzpools verwenden, um diese Zeit zu reduzieren.

  • Datenverkehrsumleitung:

    • Steuerebene: Die Databricks-Kontrollebene führt innerhalb von ca. 15 Minuten automatisch das Failover auf die fehlerfreien Zonen durch.

    • DBFS-Stamm: Azure Storage leitet Anforderungen automatisch an Speichercluster in fehlerfreien Zonen um.

    • Rechenebene: Der Cluster-Manager wechselt zu Knoten in verfügbaren Zonen automatisch.

Zonenwiederherstellung

Wenn die fehlgeschlagene Verfügbarkeitszone wiederhergestellt wird, setzt Azure Databricks automatisch normale Vorgänge in allen Zonen fort. Der Cluster-Manager kann die Knotenverteilung während der nachfolgenden Knotenerstellung neu ausgleichen, vorhandene Knoten werden jedoch weiterhin in ihren aktuellen Zonen ausgeführt, bis sie beendet werden.

Sie müssen keine Aktion für Failbackvorgänge ausführen. Die normale Verteilung der Zonen wird bei neuen Clusterbereitstellungen wieder aufgenommen.

Test auf Zonenfehler

Azure Databricks ist ein verwalteter Dienst, bei dem Microsoft das Zonen-Failover automatisch verarbeitet und regelmäßige Zonen-Downtests durchführt. Sie müssen Zonenfehlerszenarien für den Dienst selbst nicht testen.

Testen Sie für Ihre Anwendungen, die auf Azure Databricks ausgeführt werden, die Ausfallsicherheit von Jobs, indem Sie Treiberknotenfehler simulieren und das Verhalten des Clusterneustarts überwachen. Überprüfen Sie, ob Ihre Datenverarbeitungsaufträge Clusterneustarts verarbeiten und von den entsprechenden Prüfpunkten aus fortgesetzt werden können.

Widerstandsfähigkeit bei regionalen Ausfällen

Azure Databricks ist ein Einzelregionendienst. Wenn die Region nicht verfügbar ist, ist Ihr Arbeitsbereich ebenfalls nicht verfügbar. Wenn Sie Bereitstellungen mit mehreren Regionen benötigen, lesen Sie die Azure Databricks-Notfallwiederherstellung.

Benutzerdefinierte Lösungen mit mehreren Regionen für Resilienz

Azure Databricks bietet keine integrierten Multiregionenfunktionen. Um umfassenden Multi-Region-Schutz Ihrer Analyseworkloads zu gewährleisten, müssen Sie Ihren eigenen Ansatz implementieren.

Typische Lösungen mit mehreren Regionen umfassen zwei oder mehr Arbeitsbereiche. Sie können aus mehreren Strategien wählen, einschließlich aktiv-passiver und aktiver Architekturen.

Berücksichtigen Sie die folgenden Faktoren, um eine Architektur auszuwählen:

  • Die Kritischität der Arbeitsauslastung für Ihr Unternehmen
  • Die mögliche Dauer einer Unterbrechung (Stunden oder möglicherweise ein ganzer Tag)
  • Der Aufwand, der erforderlich ist, um den Arbeitsbereich voll funktionsfähig zu machen
  • Der Aufwand, der zum Wiederherstellen oder Fehlschlagen in der primären Region erforderlich ist

Informationen zu Workloads, die in mehreren Regionen geschützt werden müssen, finden Sie unter Azure Databricks – Notfallwiederherstellung.

Sicherung und Wiederherstellung

Azure Databricks sichert Datenbanken automatisch als Teil der verwalteten Vorgänge des Diensts. Dieser Prozess umfasst Notizbuchinhalte, Auftragsdefinitionen, Clusterkonfigurationen und Zugriffssteuerungseinstellungen.

Hinweis

Wenn ein Zonenfehler auftritt, erwartet Azure Databricks keinen Datenverlust.

Es wird empfohlen, Ihre Daten im Unity-Katalogspeicher zu speichern. Sie können Daten über die Speicherreplikation oder delta-Klonung replizieren.

Sicherungs- und Wiederherstellungsfunktionen auf Arbeitsbereichsebene sind nicht direkt verfügbar. Planen Sie Nachholverfahren für Arbeitsbereiche, die das Wiederherstellen von Konfigurationen, Benutzern und Zugriffssteuerungen aus Ihren Synchronisierungsprozessen umfassen.

Resilienz gegenüber Wartungsarbeiten an Diensten

Azure Databricks führt automatische Plattformwartung durch, um Sicherheitsupdates anzuwenden, neue Features bereitzustellen und die Zuverlässigkeit des Diensts zu verbessern. Sie können die Wartungsfenster für Ihren Cluster konfigurieren, um die Wahrscheinlichkeit der Wartung zu verringern, die sich auf Ihre Produktionsworkloads auswirkt. Weitere Informationen siehe Automatische Clusteraktualisierung.

Service-Level-Vereinbarung

Der Service level agreement (SLA) für Azure-Dienste beschreibt die erwartete Verfügbarkeit jedes Diensts und die Bedingungen, die Ihre Lösung erfüllen muss, um diese Verfügbarkeitserwartungen zu erreichen. Weitere Informationen finden Sie unter SLAs für Onlinedienste.