Zarządzanie obliczeniami

W tym artykule opisano sposób zarządzania obliczeniami usługi Azure Databricks, w tym wyświetlania, edytowania, uruchamiania, kończenie, usuwanie, kontrolowanie dostępu oraz monitorowanie wydajności i dzienników. Interfejs API klastrów umożliwia również programowe zarządzanie obliczeniami.

Wyświetlanie zasobów obliczeniowych

Aby wyświetlić obliczenia, kliknij pozycję ikona obliczeniowaObliczenia na pasku bocznym obszaru roboczego.

Po lewej stronie znajdują się dwie kolumny wskazujące, czy obliczenia zostały przypięte i stan obliczeń. Zatrzymaj wskaźnik myszy na stanie, aby uzyskać więcej informacji.

Wyświetlanie konfiguracji obliczeniowej jako pliku JSON

Czasami pomocne może być wyświetlenie konfiguracji obliczeniowej w formacie JSON. Jest to szczególnie przydatne, gdy chcesz utworzyć podobne obliczenia przy użyciu interfejsu API klastrów. Po wyświetleniu istniejącego obliczenia przejdź do karty Konfiguracja , kliknij pozycję JSON w prawym górnym rogu karty, skopiuj kod JSON i wklej go do wywołania interfejsu API. Widok JSON jest tylko do odczytu.

Przypinanie obliczeń

30 dni po zakończeniu obliczeń zostanie trwale usunięte. Aby zachować konfigurację obliczeniową całego przeznaczenia po zakończeniu obliczeń przez ponad 30 dni, administrator może przypiąć obliczenia. Można przypiąć maksymalnie 100 zasobów obliczeniowych.

Administracja można przypiąć obliczenia z listy obliczeniowej lub strony szczegółów obliczeń, klikając ikonę pinezki.

Edytowanie obliczeń

Konfigurację obliczeń można edytować za pomocą interfejsu użytkownika szczegółów obliczeniowych.

Uwaga

  • Notesy i zadania dołączone do zasobów obliczeniowych pozostają dołączone po edycji.
  • Biblioteki zainstalowane na obliczeniach pozostaną zainstalowane po edycji.
  • Jeśli edytujesz dowolny atrybut uruchomionego środowiska obliczeniowego (z wyjątkiem rozmiaru i uprawnień obliczeniowych), musisz go ponownie uruchomić. Może to zakłócić użytkowników, którzy obecnie korzystają z obliczeń.
  • Można edytować tylko uruchomione lub zakończone obliczenia. Można jednak zaktualizować uprawnienia do obliczeń, które nie znajdują się w tych stanach na stronie szczegółów obliczeń.

Klonowanie obliczeń

Aby sklonować istniejące zasoby obliczeniowe, wybierz pozycję Klonuj z menu kebabu obliczeniowego Menu Kebab .

Po wybraniu pozycji Klonuj interfejs użytkownika tworzenia zasobów obliczeniowych zostanie wstępnie wypełniony konfiguracją obliczeniową. Następujące atrybuty nie są uwzględniane w klonie:

  • Uprawnienia obliczeniowe
  • Dołączone notesy

Jeśli nie chcesz dołączać wcześniej zainstalowanych bibliotek do sklonowanych zasobów obliczeniowych, kliknij menu rozwijane obok przycisku Utwórz obliczenia i wybierz pozycję Utwórz bez bibliotek.

Uprawnienia obliczeniowe

Istnieją cztery poziomy uprawnień dla obliczeń: BRAK UPRAWNIEŃ, MOŻLIWOŚĆ DOŁĄCZANIA DO, PONOWNE URUCHAMIANIE I ZARZĄDZANIE. W tabeli wymieniono możliwości poszczególnych uprawnień.

Ważne

Użytkownicy z uprawnieniami CAN ATTACH TO mogą wyświetlać klucze konta usługi w pliku log4j. Podczas udzielania tego poziomu uprawnień należy zachować ostrożność.

Zdolność BRAK UPRAWNIEŃ MOŻE DOŁĄCZAĆ DO MOŻE PONOWNIE URUCHOMIĆ MOŻE ZARZĄDZAĆ
Dołączanie notesu do obliczeń x x x
Wyświetl interfejs użytkownika platformy Spark x x x
Wyświetlanie metryk obliczeniowych x x x
Wyświetlanie dzienników sterowników x (patrz uwaga)
Kończenie obliczeń x x
Uruchamianie i ponowne uruchamianie obliczeń x x
Edytowanie obliczeń x
Dołączanie biblioteki do obliczeń x
Zmienianie rozmiaru zasobów obliczeniowych x
Modyfikuj uprawnienia x

Administratorzy obszaru roboczego mają uprawnienie CAN MANAGE dla wszystkich zasobów obliczeniowych w swoim obszarze roboczym. Użytkownicy mają automatycznie uprawnienie DO ZARZĄDZANIA zasobami obliczeniowymi tworzonymi przez nich.

Uwaga

Wpisy tajne nie są redagowane z dziennika stdout i stderr strumieni sterowników spark klastra. Aby chronić dane poufne, domyślnie dzienniki sterowników platformy Spark są widoczne tylko przez użytkowników z uprawnieniami CAN MANAGE w zadaniu, trybie dostępu pojedynczego użytkownika i klastrach trybu dostępu współdzielonego. Aby zezwolić użytkownikom z uprawnieniem CAN ATTACH TO lub CAN RESTART, aby wyświetlić dzienniki w tych klastrach, ustaw następującą właściwość konfiguracji platformy Spark w konfiguracji klastra: spark.databricks.acl.needAdminPermissionToViewLogs false.

W przypadku klastrów z trybem dostępu wspólnego bez izolacji dzienniki sterowników platformy Spark mogą być wyświetlane przez użytkowników z uprawnieniem CAN ATTACH TO lub CAN MANAGE. Aby ograniczyć, kto może odczytywać dzienniki tylko użytkownikom z uprawnieniami CAN MANAGE, ustaw wartość spark.databricks.acl.needAdminPermissionToViewLogstrue.

Zobacz Konfiguracja platformy Spark, aby dowiedzieć się, jak dodać właściwości platformy Spark do konfiguracji klastra.

Konfigurowanie uprawnień obliczeniowych

W tej sekcji opisano sposób zarządzania uprawnieniami przy użyciu interfejsu użytkownika obszaru roboczego. Możesz również użyć interfejsu API uprawnień lub dostawcy narzędzia Terraform usługi Databricks.

Aby skonfigurować uprawnienia obliczeniowe, musisz mieć uprawnienie CAN MANAGE dla zasobów obliczeniowych.

  1. Na pasku bocznym kliknij pozycję Obliczenia.
  2. W wierszu obliczeń kliknij menu Wielokropek pionowy kebab po prawej stronie, a następnie wybierz pozycję Edytuj uprawnienia.
  3. W obszarze Uprawnienia Ustawienia kliknij menu rozwijane Wybierz użytkownika, grupę lub jednostkę usługi... i wybierz użytkownika, grupę lub jednostkę usługi.
  4. Wybierz uprawnienie z menu rozwijanego uprawnień.
  5. Kliknij przycisk Dodaj i kliknij przycisk Zapisz.

Kończenie obliczeń

Aby zaoszczędzić zasoby obliczeniowe, możesz zakończyć obliczenia. Konfiguracja zakończonego obliczeniowego jest przechowywana w taki sposób, aby można było użyć jej ponownie (lub w przypadku zadań automatycznie uruchamianych) w późniejszym czasie. Możesz ręcznie przerwać obliczenia lub skonfigurować obliczenia tak, aby zakończyły się automatycznie po upływie określonego okresu braku aktywności. Gdy liczba zakończonych obliczeń przekroczy 150, najstarsze zasoby obliczeniowe zostaną usunięte.

Jeśli środowisko obliczeniowe nie zostanie przypięte lub uruchomione ponownie, zostanie ono automatycznie i trwale usunięte 30 dni po zakończeniu.

Zakończone obliczenia są wyświetlane na liście obliczeniowej z szarym okręgiem po lewej stronie nazwy obliczeniowej.

Uwaga

Po uruchomieniu zadania na nowym zadaniu obliczeniowym (co jest zwykle zalecane), obliczanie kończy działanie i jest niedostępne do ponownego uruchomienia po zakończeniu zadania. Z drugiej strony, jeśli planujesz uruchomienie zadania dla istniejącego obliczeniowego typu All-Purpose, które zostało zakończone, to obliczenie zostanie automatycznie uruchomione.

Ważne

Jeśli używasz obszaru roboczego w wersji próbnej Premium, wszystkie uruchomione zasoby obliczeniowe zostaną zakończone:

  • Podczas uaktualniania obszaru roboczego do pełnej wersji Premium.
  • Jeśli obszar roboczy nie zostanie uaktualniony, a wersja próbna wygaśnie.

Ręczne kończenie

Możesz ręcznie zakończyć obliczenia z listy obliczeniowej (klikając kwadrat w wierszu obliczeniowym) lub stronę szczegółów obliczeniowych (klikając pozycję Zakończ).

Automatyczne zakończenie

Możesz również ustawić automatyczne kończenie obliczeń. Podczas tworzenia zasobów obliczeniowych można określić okres braku aktywności w minutach, po którym ma zostać zakończone przetwarzanie.

Jeśli różnica między bieżącym czasem a ostatnim uruchomieniem polecenia w obliczeniach jest większa niż określony okres braku aktywności, usługa Azure Databricks automatycznie kończy to obliczenia.

Obliczenia są uznawane za nieaktywne, gdy wszystkie polecenia w obliczeniach, w tym zadania platformy Spark, przesyłania strumieniowego ze strukturą i wywołania JDBC, zakończyły wykonywanie.

Ostrzeżenie

  • Obliczenia nie zgłaszają aktywności wynikającej z użycia D Strumienie. Oznacza to, że automatyczne kończenie obliczeń może zostać zakończone podczas uruchamiania D Strumienie. Wyłącz automatyczne kończenie obliczeń z systemem D Strumienie lub rozważ użycie przesyłania strumieniowego ze strukturą.
  • Bezczynne zasoby obliczeniowe nadal gromadzą opłaty za użycie jednostek DBU i wystąpień w chmurze w okresie braku aktywności przed zakończeniem.

Konfigurowanie automatycznego kończenia

Automatyczne kończenie można skonfigurować w nowym interfejsie użytkownika obliczeniowego. Upewnij się, że pole jest zaznaczone i wprowadź liczbę minut w ustawieniu Zakończ po ___ minutach braku aktywności .

Możesz zrezygnować z automatycznego kończenia, usuwając zaznaczenie pola wyboru Automatyczne kończenie lub określając okres 0braku aktywności .

Uwaga

Automatyczne kończenie jest najlepiej obsługiwane w najnowszych wersjach platformy Spark. Starsze wersje platformy Spark mają znane ograniczenia, które mogą powodować niedokładne raportowanie aktywności obliczeniowej. Na przykład obliczenia z uruchomionym poleceniem JDBC, R lub przesyłania strumieniowego mogą zgłaszać nieaktualny czas działania, który prowadzi do przedwczesnego zakończenia obliczeń. Przeprowadź uaktualnienie do najnowszej wersji platformy Spark, aby skorzystać z poprawek błędów i ulepszeń automatycznego kończenia.

Nieoczekiwane zakończenie

Czasami obliczenia są nieoczekiwanie przerywane, a nie w wyniku ręcznego zakończenia lub skonfigurowanego automatycznego kończenia.

Aby uzyskać listę przyczyn zakończenia i kroków korygowania, zobacz bazę wiedzy.

Usuwanie obliczeń

Usunięcie obliczeń kończy obliczenia i usuwa jego konfigurację. Aby usunąć środowisko obliczeniowe, wybierz pozycję Usuń z menu obliczeńMenu Kebab.

Ostrzeżenie

Nie można cofnąć tej akcji.

Aby usunąć przypięte zasoby obliczeniowe, należy najpierw odpiąć ją od administratora.

Możesz również wywołać punkt końcowy interfejsu API klastrów, aby programowo usunąć obliczenia.

Ponowne uruchamianie obliczeń

Możesz ponownie uruchomić wcześniej zakończone obliczenia z listy obliczeniowej, strony szczegółów obliczeń lub notesu. Możesz również wywołać punkt końcowy interfejsu API klastrów, aby programowo uruchomić obliczenia.

Usługa Azure Databricks identyfikuje zasoby obliczeniowe przy użyciu unikatowego identyfikatora klastra. Po uruchomieniu zakończonych obliczeń usługa Databricks ponownie tworzy obliczenia o tym samym identyfikatorze, automatycznie instaluje wszystkie biblioteki i ponownie dołącza notesy.

Uwaga

Jeśli używasz obszaru roboczego w wersji próbnej, a wersja próbna wygasła, nie będzie można uruchomić obliczeń.

Uruchom ponownie środowisko obliczeniowe, aby zaktualizować je przy użyciu najnowszych obrazów

Po ponownym uruchomieniu obliczeń pobiera on najnowsze obrazy dla kontenerów zasobów obliczeniowych i hostów maszyn wirtualnych. Ważne jest, aby zaplanować regularne ponowne uruchomienia dla długotrwałych obliczeń, takich jak te używane do przetwarzania danych przesyłanych strumieniowo.

Twoim zadaniem jest regularne ponowne uruchamianie wszystkich zasobów obliczeniowych w celu zapewnienia aktualności obrazu przy użyciu najnowszej wersji obrazu.

Ważne

Jeśli włączysz profil zabezpieczeń zgodności dla konta lub obszaru roboczego, długotrwałe obliczenia zostaną automatycznie uruchomione ponownie zgodnie z potrzebami podczas zaplanowanego okna obsługi. Zmniejsza to ryzyko automatycznego ponownego uruchamiania zakłócającego zaplanowane zadanie. Możesz również wymusić ponowne uruchomienie w oknie obsługi. Zobacz Automatyczna aktualizacja klastra.

Przykład notesu: znajdowanie długotrwałych obliczeń

Jeśli jesteś administratorem obszaru roboczego, możesz uruchomić skrypt, który określa, jak długo każde z zasobów obliczeniowych zostało uruchomione, i opcjonalnie uruchom je ponownie, jeśli są starsze niż określona liczba dni. Usługa Azure Databricks udostępnia ten skrypt jako notes.

Pierwsze wiersze skryptu definiują parametry konfiguracji:

  • min_age_output: maksymalna liczba dni, przez które można uruchomić obliczenia. Wartość domyślna to 1.
  • perform_restart: Jeśli Trueskrypt uruchamia ponownie dowolne obliczenia z wiekiem większym niż liczba dni określonych przez min_age_output. Wartość domyślna to False, która identyfikuje długotrwałe obliczenia, ale nie uruchamia ich ponownie.
  • secret_configuration: Zastąp REPLACE_WITH_SCOPE wartości i REPLACE_WITH_KEY zakresem wpisu tajnego i nazwą klucza. Aby uzyskać więcej informacji na temat konfigurowania wpisów tajnych, zobacz notes.

Ostrzeżenie

Jeśli ustawisz wartość perform_restartTrue, skrypt automatycznie ponownie uruchomi kwalifikujące się zasoby obliczeniowe, co może spowodować niepowodzenie aktywnych zadań i zresetować otwarte notesy. Aby zmniejszyć ryzyko zakłócania zadań krytycznych dla działania firmy obszaru roboczego, zaplanuj zaplanowane okno obsługi i pamiętaj, aby powiadomić użytkowników obszaru roboczego.

Identyfikowanie i opcjonalne ponowne uruchamianie długotrwałych obliczeń

Pobierz notes

Obliczanie automatycznego uruchamiania dla zadań i zapytań JDBC/ODBC

Po zaplanowaniu uruchomienia zadania przypisanego do zakończonego obliczeniowego lub nawiązaniu połączenia z zakończonym obliczeniam z interfejsu JDBC/ODBC obliczanie jest automatycznie uruchamiane ponownie. Zobacz Tworzenie zadania i nawiązywanie połączenia JDBC.

Automatyczne uruchamianie obliczeń umożliwia skonfigurowanie obliczeń do automatycznego kończenia bez konieczności ręcznego uruchamiania obliczeń pod kątem zaplanowanych zadań. Ponadto można zaplanować inicjowanie zasobów obliczeniowych, planując zadanie do uruchomienia na zakończonych obliczeniach.

Przed automatycznym ponownym uruchomieniem obliczeń sprawdzane są uprawnienia kontroli dostępu do zasobów obliczeniowych i zadań .

Uwaga

Jeśli środowisko obliczeniowe zostało utworzone na platformie Azure Databricks w wersji 2.70 lub starszej, nie ma automatycznego startu: zadania zaplanowane do uruchomienia na zakończonych obliczeniach zakończą się niepowodzeniem.

Wyświetlanie informacji obliczeniowych w interfejsie użytkownika platformy Apache Spark

Szczegółowe informacje o zadaniach platformy Spark można wyświetlić, wybierając kartę Interfejs użytkownika platformy Spark na stronie szczegółów obliczeń.

W przypadku ponownego uruchomienia zakończonego obliczeń interfejs użytkownika platformy Spark wyświetla informacje dotyczące ponownie uruchomionego środowiska obliczeniowego, a nie informacje historyczne dotyczące zakończonego obliczeń.

Zobacz Diagnozowanie problemów z kosztami i wydajnością przy użyciu interfejsu użytkownika platformy Spark , aby zapoznać się z diagnozowaniem problemów z kosztami i wydajnością przy użyciu interfejsu użytkownika platformy Spark.

Wyświetlanie dzienników obliczeniowych

Usługa Azure Databricks udostępnia trzy rodzaje rejestrowania działań związanych z obliczeniami:

  • Dzienniki zdarzeń obliczeniowych, które przechwytują zdarzenia cyklu życia obliczeniowego, takie jak tworzenie, kończenie działania i edytowanie konfiguracji.
  • Sterownik platformy Apache Spark i dziennik procesów roboczych, których można użyć do debugowania.
  • Obliczanie dzienników skryptów inicjowania, które są przydatne podczas debugowania skryptów inicjowania.

W tej sekcji omówiono dzienniki zdarzeń obliczeniowych oraz dzienniki sterowników i procesów roboczych. Aby uzyskać szczegółowe informacje na temat dzienników skryptów inicjowania, zobacz Rejestrowanie skryptów init.

Dzienniki zdarzeń obliczeniowych

Dziennik zdarzeń obliczeniowych wyświetla ważne zdarzenia cyklu życia obliczeniowego wyzwalane ręcznie przez akcje użytkownika lub automatycznie przez usługę Azure Databricks. Takie zdarzenia wpływają na działanie obliczeń jako całości i zadania uruchomione w obliczeniach.

Aby uzyskać informacje o obsługiwanych typach zdarzeń, zobacz strukturę danych interfejsu API klastrów.

Zdarzenia są przechowywane przez 60 dni, co jest porównywalne z innymi okresami przechowywania danych w usłudze Azure Databricks.

Wyświetlanie dziennika zdarzeń obliczeń

Aby wyświetlić dziennik zdarzeń obliczeń, wybierz kartę Dziennik zdarzeń na stronach szczegółów obliczeniowych.

Aby uzyskać więcej informacji na temat zdarzenia, kliknij jego wiersz w dzienniku, a następnie kliknij kartę JSON , aby uzyskać szczegółowe informacje.

Dzienniki sterowników obliczeniowych i procesów roboczych

Instrukcje drukowania bezpośredniego i rejestrowania z notesów, zadań i bibliotek trafiają do dzienników sterowników platformy Spark. Dostęp do tych plików dziennika można uzyskać na karcie Dzienniki sterowników na stronie szczegółów obliczeń. Kliknij nazwę pliku dziennika, aby go pobrać.

Dzienniki te zawierają trzy rodzaje danych wyjściowych:

  • Wyjście standardowe
  • Błąd standardowy
  • Dzienniki log4j

Aby wyświetlić dzienniki procesów roboczych platformy Spark, użyj karty Interfejs użytkownika platformy Spark. Możesz również skonfigurować lokalizację dostarczania dziennika dla obliczeń. Dzienniki procesów roboczych i obliczeniowych są dostarczane do określonej lokalizacji.

Monitorowanie wydajności

Aby ułatwić monitorowanie wydajności obliczeń usługi Azure Databricks, usługa Azure Databricks zapewnia dostęp do metryk ze strony szczegółów obliczeniowych. W przypadku środowiska Databricks Runtime 12.2 lub starszego usługa Azure Databricks zapewnia dostęp do metryk Ganglia . W przypadku środowiska Databricks Runtime 13.3 LTS i nowszych metryki obliczeniowe są udostępniane przez usługę Azure Databricks.

Ponadto możesz skonfigurować środowisko obliczeniowe usługi Azure Databricks w celu wysyłania metryk do obszaru roboczego usługi Log Analytics w usłudze Azure Monitor, czyli platformy monitorowania dla platformy Azure.

Możesz również zainstalować agentów usługi Datadog w węzłach obliczeniowych, aby wysyłać metryki usługi Datadog do konta usługi Datadog.

Metryki obliczeniowe

Metryki obliczeniowe to domyślne narzędzie do monitorowania dla środowiska Databricks Runtime 13.3 LTS lub nowszego. Aby uzyskać dostęp do interfejsu użytkownika metryk obliczeniowych, przejdź do karty Metryki na stronie szczegółów obliczeń.

Metryki historyczne można wyświetlić, wybierając zakres czasu przy użyciu filtru selektora dat. Metryki są zbierane co minutę. Możesz również pobrać najnowsze metryki, klikając przycisk Odśwież . Aby uzyskać więcej informacji, zobacz Wyświetlanie metryk obliczeniowych.

Metryki Ganglia

Uwaga

Metryki Ganglia są dostępne tylko dla środowiska Databricks Runtime 12.2 lub starszego.

Aby uzyskać dostęp do interfejsu użytkownika Ganglia, przejdź do karty Metryki na stronie szczegółów obliczeń. Metryki procesora CPU są dostępne w interfejsie użytkownika ganglia dla wszystkich środowisk uruchomieniowych usługi Databricks. Metryki procesora GPU są dostępne dla obliczeń z obsługą procesora GPU.

Aby wyświetlić metryki na żywo, kliknij link Ganglia UI .

Aby wyświetlić metryki historyczne, kliknij plik migawki. Migawka zawiera zagregowane metryki dla godziny poprzedzającej wybrany czas.

Uwaga

Platforma Ganglia nie jest obsługiwana w przypadku kontenerów platformy Docker. Jeśli używasz kontenera platformy Docker z obliczeniami, metryki Ganglia nie będą dostępne.

Konfigurowanie kolekcji metryk Ganglia

Domyślnie usługa Azure Databricks zbiera metryki Ganglia co 15 minut. Aby skonfigurować okres zbierania, ustaw DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTES zmienną środowiskową przy użyciu skryptu init lub w polu w spark_env_vars interfejsie API tworzenia klastra.

Azure Monitor

Możesz skonfigurować środowisko obliczeniowe usługi Azure Databricks w celu wysyłania metryk do obszaru roboczego usługi Log Analytics w usłudze Azure Monitor, czyli platformy monitorowania dla platformy Azure. Aby uzyskać pełne instrukcje, zobacz Monitorowanie w usłudze Azure Databricks.

Uwaga

Jeśli wdrożono obszar roboczy usługi Azure Databricks we własnej sieci wirtualnej i skonfigurowano sieciowe grupy zabezpieczeń w celu odmowy całego ruchu wychodzącego, który nie jest wymagany przez usługę Azure Databricks, musisz skonfigurować dodatkową regułę ruchu wychodzącego dla tagu usługi "AzureMonitor".

Przykład notesu: metryki usługi Datadog

Metryki usługi Datadog

Agentów usługi Datadog można zainstalować w węzłach obliczeniowych, aby wysyłać metryki usługi Datadog do konta usługi Datadog. W poniższym notesie pokazano, jak zainstalować agenta usługi Datadog na obliczeniach przy użyciu skryptu inicjowania o zakresie obliczeniowym.

Aby zainstalować agenta usługi Datadog na wszystkich obliczeniach, zarządzaj skryptem inicjowania o zakresie obliczeniowym przy użyciu zasad obliczeniowych.

Instalowanie notesu skryptu init agenta usługi Datadog

Pobierz notes

Likwiduj wystąpienia typu spot

Ponieważ wystąpienia typu spot mogą obniżyć koszty, tworzenie zasobów obliczeniowych przy użyciu wystąpień typu spot zamiast wystąpień na żądanie jest typowym sposobem uruchamiania zadań. Jednak wystąpienia typu spot mogą zostać wywłaszczone przez mechanizmy planowania dostawców usług w chmurze. Wywłaszczanie wystąpień typu spot może powodować problemy z uruchomionymi zadaniami, w tym:

  • Błędy pobierania shuffle
  • Utrata danych w przypadku mieszania
  • Utrata danych RDD
  • Niepowodzenia zadań

Możesz włączyć likwidowanie, aby rozwiązać te problemy. Likwidowanie korzysta z powiadomienia, które dostawca usług w chmurze zwykle wysyła przed zlikwidowaniem wystąpienia typu spot. Gdy wystąpienie typu spot zawierające funkcję wykonawcza otrzymuje powiadomienie o wywłaszeniu, proces likwidowania podejmie próbę migracji danych mieszania i RDD do funkcji wykonawczej w dobrej kondycji. Czas trwania przed ostatecznym wywłaszczeniem wynosi zazwyczaj od 30 sekund do 2 minut, w zależności od dostawcy usług w chmurze.

Usługa Databricks zaleca włączenie migracji danych w przypadku włączenia likwidowania. Ogólnie rzecz biorąc, możliwość wystąpienia błędów zmniejsza się w miarę migrowania większej liczby danych, w tym mieszania błędów pobierania, utraty danych mieszania i utraty danych RDD. Migracja danych może również prowadzić do mniejszej ilości ponownego obliczania i zaoszczędzonych kosztów.

Uwaga

Likwidowanie jest najlepszym rozwiązaniem i nie gwarantuje, że wszystkie dane można migrować przed ostatecznym wywłaszczeniem. Likwidowanie nie może zagwarantować awarii pobierania mieszania podczas uruchamiania zadań pobierających dane mieszania z funkcji wykonawczej.

Po włączeniu likwidacji błędy zadań spowodowane wywłaszczeniem wystąpienia typu spot nie są dodawane do całkowitej liczby nieudanych prób. Błędy zadań spowodowane wywłaszczeniem nie są liczone jako nieudane próby, ponieważ przyczyna błędu jest zewnętrzna dla zadania i nie spowoduje niepowodzenia zadania.

Włączanie likwidowania

Aby włączyć likwidowanie zasobów obliczeniowych, wprowadź następujące właściwości na karcie Spark w obszarze Opcje zaawansowane w interfejsie użytkownika konfiguracji obliczeniowej. Aby uzyskać informacje na temat tych właściwości, zobacz Konfiguracja platformy Spark.

  • Aby włączyć likwidowanie aplikacji, wprowadź tę właściwość w polu konfiguracji platformy Spark:

    spark.decommission.enabled true
    
  • Aby włączyć migrację danych mieszania podczas likwidowania, wprowadź tę właściwość w polu konfiguracji platformy Spark:

    spark.storage.decommission.enabled true
    spark.storage.decommission.shuffleBlocks.enabled true
    
  • Aby włączyć migrację danych pamięci podręcznej RDD podczas likwidowania, wprowadź tę właściwość w polu konfiguracji platformy Spark:

    spark.storage.decommission.enabled true
    spark.storage.decommission.rddBlocks.enabled true
    

    Uwaga

    Gdy replikacja RDD StorageLevel jest ustawiona na więcej niż 1, usługa Databricks nie zaleca włączania migracji danych RDD, ponieważ repliki zapewniają, że RDD nie utracą danych.

  • Aby włączyć likwidowanie procesów roboczych, wprowadź tę właściwość w polu Zmienne środowiskowe :

    SPARK_WORKER_OPTS="-Dspark.decommission.enabled=true"
    

Wyświetlanie stanu likwidacji i przyczyny utraty w interfejsie użytkownika

Aby uzyskać dostęp do stanu likwidacji procesu roboczego z poziomu interfejsu użytkownika, przejdź do karty Interfejs użytkownika obliczeń platformy Spark — wzorzec .

Po zakończeniu likwidowania możesz wyświetlić przyczynę utraty funkcji wykonawczej na karcie Funkcje wykonawcze interfejsu użytkownika platformy Spark > na stronie szczegółów obliczeniowych.