Udostępnij przez


Niezawodność w usłudze Azure Databricks

Azure Databricks to oparta na współpracy platforma danych i sztucznej inteligencji oparta na platformie Apache Spark zoptymalizowana pod kątem platformy Microsoft Azure. Zapewnia ujednolicone środowisko dla obciążeń big data i sztucznej inteligencji oraz łączy najlepsze z usług Databricks i Azure, aby uprościć inżynierię danych, naukę o danych i uczenie maszynowe.

W przypadku korzystania z platformy Azure niezawodność jest wspólną odpowiedzialnością. Firma Microsoft oferuje szereg możliwości wspierania odporności systemów i odzyskiwania. Odpowiadasz za zrozumienie, jak te możliwości działają w ramach wszystkich używanych usług oraz za wybór tych, które są potrzebne do osiągnięcia Twoich celów biznesowych i celów dotyczących niezawodności.

W tym artykule opisano, jak usługa Azure Databricks utrzymuje odporność na różne potencjalne awarie i problemy oraz jak można skonfigurować odporność w celu spełnienia wymagań. Wskazówki obejmują błędy przejściowe, przerwy w działaniu strefy dostępności, przerwy w działaniu regionów i utrzymanie usługi. W tym artykule opisano również sposób używania kopii zapasowych do odzyskiwania po innych problemach i wyróżnia kluczowe informacje o umowie dotyczącej poziomu usług (SLA) usługi Azure Databricks.

Zalecenia dotyczące wdrażania produkcyjnego

Aby dowiedzieć się, jak wdrożyć usługę Azure Databricks, aby obsługiwać wymagania dotyczące niezawodności rozwiązania i jak niezawodność wpływa na inne aspekty architektury, zobacz Najlepsze rozwiązania dotyczące architektury dla usługi Azure Databricks.

Omówienie architektury niezawodności

Musisz zrozumieć niezawodność każdego podstawowego składnika w usłudze Azure Databricks:

  • Warstwa kontrolna to zbiór usług bezstanowych, które zarządzają metadanymi przestrzeni roboczej, dostępem użytkowników, planowaniem zadań i zarządzaniem klastrami. Te usługi są wspierane przez bazy danych replikowane w różnych strefach dostępności w obsługiwanych regionach.

  • Główny system plików usługi Databricks (DBFS) to konto magazynu, które usługa Azure Databricks automatycznie prowizjonuje podczas tworzenia obszaru roboczego Azure Databricks na koncie w chmurze. Zalecamy, aby nie przechowywać danych w katalogu głównym systemu plików DBFS i wyłączyć to konto magazynu, jeśli to możliwe.

  • Magazyn Unity Catalog obejmuje jedno lub więcej kont magazynowych, które przechowują dane Unity Catalog na Twoim koncie w chmurze. Aby uzyskać więcej informacji, sprawdź Katalog Unity.

  • Płaszczyzna obliczeniowa uruchamia obciążenia przetwarzania danych przy użyciu klastrów maszyn wirtualnych. Płaszczyzna obliczeniowa obsługuje błędy przejściowe i automatycznie zastępuje uszkodzone węzły bez interwencji użytkownika. Możesz wybrać spośród wielu typów zasobów obliczeniowych. Aby uzyskać więcej informacji, zobacz Obliczenia.

    Dostępność obszaru roboczego zależy od dostępności płaszczyzny sterowania, ale klastry obliczeniowe mogą nadal przetwarzać zadania nawet podczas przerw w działaniu płaszczyzny sterowania.

Odporność na błędy przejściowe

Błędy przejściowe to krótkotrwałe, sporadyczne awarie w komponentach. Występują one często w środowisku rozproszonym, takich jak chmura, i są one normalną częścią operacji. Błędy przejściowe naprawiają się po krótkim czasie. Ważne jest, aby aplikacje mogły obsługiwać błędy przejściowe, zwykle ponawiając próby żądań, których dotyczy problem.

Wszystkie aplikacje hostowane w chmurze powinny postępować zgodnie ze wskazówkami dotyczącymi obsługi błędów przejściowych platformy Azure podczas komunikowania się z dowolnymi interfejsami API hostowanymi w chmurze, bazami danych i innymi składnikami. Aby uzyskać więcej informacji, zobacz Zalecenia dotyczące obsługi błędów przejściowych.

Możesz kontrolować ponawianie prób dla zadań w ramach Lakeflow Jobs, aby ułatwić naprawę błędów przejściowych.

W przypadku aplikacji uruchamianych w usłudze Azure Databricks zaimplementuj logikę ponawiania przy użyciu wycofywania wykładniczego podczas nawiązywania połączenia z usługami zewnętrznymi lub usługami platformy Azure, takimi jak Storage, Azure SQL Database lub Azure Event Hubs. Środowisko Databricks Runtime obejmuje wbudowaną odporność dla wielu usług platformy Azure, ale kod aplikacji powinien obsługiwać błędy przejściowe specyficzne dla usługi.

Odporność na błędy strefy dostępności

Strefy dostępności są fizycznie oddzielnymi grupami centrów danych w regionie świadczenia usługi Azure. Gdy jedna strefa ulegnie awarii, usługi mogą przejść w tryb failover do jednej z pozostałych stref.

Usługa Azure Databricks obsługuje nadmiarowość stref dla każdego składnika:

  • Płaszczyzna sterowania: W regionach obsługujących strefy dostępności płaszczyzna sterowania działa w wielu strefach dostępności. Warstwa kontrolna automatycznie obsługuje błędy strefy, z minimalnym wpływem i bez konieczności interwencji użytkownika.

    Dane obszaru roboczego płaszczyzny sterowania są przechowywane w bazach danych. W regionach obsługujących strefy dostępności bazy danych są replikowane w wielu strefach w regionie. Konta magazynowe obsługujące obrazy środowiska Databricks Runtime są również redundantne w obrębie tego samego regionu. Wszystkie regiony mają pomocnicze konta magazynu, które są używane, gdy podstawowe konto magazynu nie działa.

  • Główny katalog DBFS: W regionach obsługujących strefy dostępności można skonfigurować konto magazynu dla głównego katalogu DBFS tak, aby używało przechowywania nadmiarowego w strefach (ZRS). W sparowanych regionach obsługujących strefy dostępności można opcjonalnie użyć przechowywania nadmiarowego w geostrefach (GZRS).

  • Płaszczyzna obliczeniowa: Usługa Databricks obsługuje automatyczną dystrybucję stref dla zasobów obliczeniowych, co oznacza, że zasoby są rozproszone w wielu strefach dostępności. Ta dystrybucja pomaga twoim obciążeniom produkcyjnym osiągnąć odporność na awarie strefy.

    Jeśli używasz bezserwerowych obliczeń, nie wybierasz jawnie stref dla zasobów obliczeniowych. Usługa Databricks zarządza wyborem stref maszyn wirtualnych i zastępowaniem maszyn wirtualnych, które mogą zostać utracone z powodu awarii stref.

Requirements

Aby korzystać z obsługi stref dostępności w usłudze Azure Databricks, potrzebne są następujące wymagania:

  • Obsługa regionów: Obsługa strefy dostępności usługi Azure Databricks jest dostępna we wszystkich regionach świadczenia usługi Azure, które obsługują usługę Azure Databricks i zapewniają strefy dostępności. Aby uzyskać listę regionów obsługujących usługę Azure Databricks, zobacz Dostępność produktów według regionów. Aby uzyskać pełną listę regionów obsługujących strefy dostępności, zobacz Regiony świadczenia usługi Azure, które obsługują strefy dostępności.

  • Replikacja magazynu: Skonfiguruj konta magazynu obszaru roboczego do używania ZRS lub GZRS (jeśli są dostępne).

  • Pojemność obliczeniowa: Upewnij się, że istnieje wystarczająca pojemność obliczeniowa w wielu strefach w regionie docelowym. Usługa Azure Databricks automatycznie dystrybuuje węzły klastra między strefy, ale należy sprawdzić, czy wybrane typy wystąpień są dostępne we wszystkich strefach docelowych.

Rozważania

Usługa Azure Databricks automatycznie dystrybuuje węzły klastra w różnych strefach dostępności. Dystrybucja zależy od dostępnej pojemności w każdej strefie. W okresach wysokiego zapotrzebowania węzły klastra mogą być skoncentrowane w mniejszej liczbie stref. W przypadku korzystania z bezserwerowych obliczeń usługa Azure Databricks zarządza wyborem stref maszyn wirtualnych i zamianą maszyn wirtualnych, które mogą zostać utracone z powodu awarii stref.

Koszt

Dystrybucja stref nie ma wpływu na koszty obliczeniowe, ponieważ płacisz za tę samą liczbę maszyn wirtualnych niezależnie od ich umieszczania w strefie dostępności. Aby uzyskać więcej informacji, zobacz Cennik zasobów obliczeniowych usługi Azure Databricks.

Domyślna nadmiarowość dla zarządzanego konta magazynu lub głównego systemu plików DBFS to geograficznie redundantne składowanie (GRS). Zmiana na ZRS lub GZRS może mieć wpływ na koszty przechowywania. Aby uzyskać więcej informacji, zobacz cennik usługi Azure Blob Storage.

Konfiguruj obsługę stref dostępności

  • Płaszczyzna sterowania: Płaszczyzna sterowania automatycznie obsługuje nadmiarowość stref w regionach, które mają strefy dostępności. Nie trzeba konfigurować żadnych elementów.

  • Główny system plików DBFS: Nadmiarowość strefy dla magazynu głównego systemu plików DBFS można skonfigurować podczas tworzenia nowego obszaru roboczego lub modyfikowania istniejącego obszaru roboczego:

    • Utwórz nowy obszar roboczy z magazynem głównym systemu plików DBFS strefowo nadmiarowym: Podczas tworzenia nowego obszaru roboczego usługi Azure Databricks możesz opcjonalnie skonfigurować skojarzone konto magazynu tak, aby używało magazynu ZRS lub GZRS zamiast domyślnego magazynu GRS. Aby uzyskać więcej informacji, zobacz Zmienianie opcji nadmiarowości przestrzeni roboczej.

    • Włącz redundancję strefową w magazynie głównym systemu plików DBFS: W przypadku istniejących obszarów roboczych można zmienić konfigurację redundancji konta magazynu obszaru roboczego na ZRS lub GZRS. Aby uzyskać więcej informacji dotyczące włączania strefowej nadmiarowości, zobacz Zmienianie ustawień replikacji dla konta magazynu.

  • Płaszczyzna obliczeniowa: Węzły klastra są automatycznie dystrybuowane między strefami dostępności. W przypadku dystrybucji stref nie jest wymagana żadna konfiguracja klienta.

Zachowanie, gdy wszystkie strefy są w dobrej kondycji

W tej sekcji opisano, czego można oczekiwać, gdy obszar roboczy jest skonfigurowany z obsługą strefy dostępności, a wszystkie strefy dostępności działają.

  • Replikacja danych między strefami: Replikacja danych dla przechowywania w obszarze roboczym odbywa się synchronicznie między strefami, gdy katalog główny systemu plików DBFS używa konta ZRS lub GZRS. Takie podejście zapewnia silną spójność przy minimalnym wpływie na wydajność.

  • Trasowanie ruchu między strefami: Azure Databricks automatycznie dystrybuuje węzły klastra między strefami podczas tworzenia klastra. Usługa równoważy obciążenie obliczeniowe między strefami, a jednocześnie utrzymuje lokalność danych w celu uzyskania optymalnej wydajności.

Zachowanie podczas awarii strefy

W tej sekcji opisano, czego można oczekiwać, gdy obszar roboczy jest skonfigurowany z obsługą strefy dostępności i występuje awaria strefy dostępności.

  • Wykrywanie i reagowanie: Firma Microsoft automatycznie wykrywa błędy strefy i inicjuje procedury odpowiedzi. Nie musisz podejmować żadnych akcji dla trybu failover na poziomie strefy.

  • Powiadomienie: Firma Microsoft nie powiadamia cię automatycznie, gdy strefa nie działa. Możesz jednak użyć strony stanu usługi Azure Databricks , aby wyświetlić omówienie wszystkich podstawowych usług Azure Databricks. Możesz również subskrybować aktualizacje statusu poszczególnych składników usługi i otrzymywać alerty, gdy zmienia się status usługi, którą subskrybujesz.

  • Aktywne żądania: Działające klastry mogą utracić węzły w strefie dotkniętej problemem. Menedżer klastra automatycznie żąda węzłów zastępczych z pozostałych stref. Jeśli węzeł sterownika zostanie utracony, klaster i zadanie zostaną całkowicie zrestartowane.

  • Oczekiwana utrata danych:

    • Płaszczyzna sterowania: Nie spodziewaj się utraty danych podczas awarii strefy.

    • Główny system plików DBFS: Dane obszaru roboczego pozostają dostępne, jeśli używają konfiguracji przechowywania ZRS lub GZRS.

    • Płaszczyzna obliczeniowa: Dane buforowane na maszynach wirtualnych są efemeryczne. Wszystkie dane utracone z maszyn wirtualnych podczas awarii strefy są odzyskiwane z magazynu. Jeśli węzeł sterownika zostanie utracony, zadanie zostanie uruchomione ponownie i ponownie skompiluje wyniki.

  • Oczekiwany przestój:

    • Płaszczyzna sterowania: Płaszczyzna sterowania usługi Databricks wykonuje automatyczne przełączenie awaryjne do sprawnych stref w ciągu około 15 minut.

    • Główny system plików DBFS: Nie przewiduje się przestoju dla kont magazynu korzystających z ZRS lub GZRS.

    • Płaszczyzna obliczeniowa: Jeśli węzły zostaną utracone, ponieważ ich maszyny wirtualne znajdują się w strefie dostępności, której dotyczy problem, menedżer klastra platformy Azure żąda węzłów zastępczych od dostawcy zasobów obliczeniowych platformy Azure. Jeśli pozostałe strefy w dobrej kondycji mają wystarczającą pojemność do spełnienia żądania, dostawca zasobów obliczeniowych ściąga węzły ze stref w dobrej kondycji, aby zastąpić utracone węzły. Ten proces może potrwać kilka minut.

      Jeśli utrata węzła zarządzającego nastąpi z powodu awarii strefy, cały klaster zostanie uruchomiony ponownie, co może prowadzić do dłuższego czasu odzyskiwania w porównaniu z utratą węzłów roboczych. Zaplanuj to zachowanie w strategiach planowania i monitorowania zadań.

      Możesz użyć rozwiązań bezserwerowych lub pul wystąpień, aby skrócić czas przetwarzania.

  • Przekierowywanie ruchu:

    • Płaszczyzna sterowania: Płaszczyzna sterowania usługi Databricks wykonuje automatyczne przełączenie awaryjne do sprawnych stref w ciągu około 15 minut.

    • DBFS root: Usługa Azure Storage automatycznie przekierowuje żądania do klastrów magazynu w strefy o dobrej kondycji.

    • Płaszczyzna obliczeniowa: Menedżer klastra automatycznie przełącza się do węzłów w strefach w dobrej kondycji.

Odzyskiwanie strefy

Gdy usunięta zostanie awaria strefy dostępności, usługa Azure Databricks automatycznie wznowi normalne operacje we wszystkich strefach. Menedżer klastra może ponownie zrównoważyć dystrybucję węzłów podczas kolejnych tworzenia węzłów, ale istniejące węzły będą nadal działać w bieżących strefach do momentu ich zakończenia.

Nie musisz podejmować żadnych działań przy przywracaniu po awarii. Wznowiono dystrybucję stref standardowych dla nowych wdrożeń klastrów.

Testowanie pod kątem niepowodzeń strefy

Azure Databricks to usługa zarządzana, w której firma Microsoft automatycznie obsługuje przełączenie awaryjne w strefie i wykonuje regularne testy przerw strefowych. Nie musisz testować scenariuszy awarii strefy dla samej usługi.

W przypadku aplikacji uruchamianych w usłudze Azure Databricks przetestuj odporność zadań, symulując błędy węzła sterownika i monitorując zachowanie ponownego uruchamiania klastra. Sprawdź, czy zadania przetwarzania danych mogą obsługiwać ponowne uruchomienia klastra i wznawiać działanie z odpowiednich punktów kontrolnych.

Odporność na awarie całego regionu

Azure Databricks to usługa jednoregionowa. Jeśli region jest niedostępny, obszar roboczy jest również niedostępny. Jeśli potrzebujesz wdrożeń w wielu regionach, zobacz Odzyskiwanie po awarii usługi Azure Databricks.

Niestandardowe rozwiązania obejmujące wiele regionów w celu zapewnienia odporności

Usługa Azure Databricks nie zapewnia wbudowanych funkcji obejmujących wiele regionów. Aby zapewnić kompleksową ochronę obciążeń analitycznych w wielu regionach, należy zaimplementować własne podejście.

Typowe rozwiązania obejmujące wiele regionów obejmują co najmniej dwa obszary robocze. Możesz wybrać jedną z kilku strategii, w tym architektury aktywne-pasywne i aktywne-aktywne.

Aby wybrać architekturę, należy wziąć pod uwagę następujące czynniki:

  • Krytyczność obciążenia dla twojej firmy
  • Potencjalny czas zakłóceń (godziny lub ewentualnie pełny dzień)
  • Nakład pracy wymagany do pełnego działania obszaru roboczego
  • Wysiłek wymagany do przywrócenia lub przełączenia z powrotem do regionu podstawowego

W przypadku obciążeń wymagających ochrony w wielu regionach zobacz Odzyskiwanie po awarii usługi Azure Databricks.

Kopia zapasowa i przywracanie

Usługa Azure Databricks automatycznie wykonuje kopie zapasowe baz danych w ramach operacji zarządzanych przez usługę. Ten proces obejmuje zawartość notesu, definicje zadań, konfiguracje klastra i ustawienia kontroli dostępu.

Uwaga / Notatka

Jeśli wystąpi awaria strefy, usługa Azure Databricks nie oczekuje utraty danych.

Zalecamy przechowywanie danych w magazynie Unity Catalog. Można replikować dane za pomocą replikacji danych w magazynach lub klonowania delta.

Możliwości tworzenia kopii zapasowych i przywracania na poziomie obszaru roboczego nie są dostępne bezpośrednio. Planuj procedury odtwarzania obszaru roboczego, które obejmują przywracanie konfiguracji, użytkowników i kontroli dostępu na podstawie procesów synchronizacji.

Odporność usługi na prace konserwacyjne

Usługa Azure Databricks wykonuje automatyczną konserwację platformy w celu stosowania aktualizacji zabezpieczeń, wdrażania nowych funkcji i zwiększania niezawodności usługi. Można skonfigurować okna konserwacji klastra, aby zmniejszyć prawdopodobieństwo, że konserwacja wpłynie na obciążenia produkcyjne. Aby uzyskać więcej informacji, zobacz automatyczna aktualizacja klastra.

Umowa dotycząca poziomu usług

Umowa dotycząca poziomu usług (SLA) dla usług platformy Azure opisuje oczekiwaną dostępność każdej usługi oraz warunki, które rozwiązanie musi spełnić, aby osiągnąć te oczekiwania dotyczące dostępności. Aby uzyskać więcej informacji, zobacz Umowy SLA dotyczące usług online.