Udostępnij za pośrednictwem


Konfiguracje puli platformy Apache Spark w usłudze Azure Synapse Analytics

Pula Platformy Spark to zestaw metadanych, który definiuje wymagania dotyczące zasobów obliczeniowych i skojarzone cechy zachowania, gdy wystąpienie wystąpienia platformy Spark jest tworzone. Te cechy obejmują, ale nie są ograniczone do nazw, liczby węzłów, rozmiaru węzła, zachowania skalowania i czasu wygaśnięcia. Pula Platformy Spark sama w sobie nie zużywa żadnych zasobów. Nie są naliczane żadne koszty związane z tworzeniem pul platformy Spark. Opłaty są ponoszone tylko wtedy, gdy zadanie Spark jest wykonywane na docelowej puli zadań Spark i instancja Spark jest inicjowana na żądanie.

Aby dowiedzieć się, jak utworzyć pulę platformy Spark i zobaczyć wszystkie ich właściwości, zobacz wprowadzenie do pul platformy Spark w usłudze Synapse Analytics

Izolowane obliczenia

Opcja Izolowane obliczenia zapewnia większe bezpieczeństwo zasobów obliczeniowych platformy Spark z niezaufanych usług, poświęcając zasób obliczeniowy fizyczny jednemu klientowi. Opcja izolowanych zasobów obliczeniowych jest najbardziej odpowiednia dla obciążeń wymagających wysokiego stopnia izolacji od obciążeń innych klientów z powodów, które obejmują spełnienie wymagań prawnych i zgodności. Opcja Izoluj obliczenia jest dostępna tylko z rozmiarem węzła XXXLarge (80 vCPU/504 GB) i dostępnym tylko w następujących regionach. Opcja izolowanego środowiska obliczeniowego może być włączona lub wyłączona po utworzeniu puli, chociaż może być konieczne ponowne uruchomienie wystąpienia. Jeśli spodziewasz się włączyć tę funkcję w przyszłości, upewnij się, że obszar roboczy usługi Synapse został utworzony w izolowanym regionie obsługiwanym przez zasoby obliczeniowe.

  • East US
  • Zachodnie stany USA 2
  • South Central US
  • US Gov Arizona
  • US Gov Wirginia

Węzły

Wystąpienie puli platformy Apache Spark składa się z jednego węzła głównego i co najmniej dwóch węzłów procesu roboczego z co najmniej trzema węzłami w wystąpieniu platformy Spark. Węzeł główny uruchamia dodatkowe usługi zarządzania, takie jak Livy, Yarn Resource Manager, Zookeeper i sterownik Spark. Wszystkie węzły uruchamiają usługi, takie jak Agent węzła i Menedżer węzłów Yarn. Wszystkie węzły robocze uruchamiają usługę funkcji wykonawczej platformy Spark.

Rozmiary węzłów

Pulę platformy Spark można zdefiniować z rozmiarami węzłów, które wahają się od małego węzła obliczeniowego z 4 rdzeniami wirtualnymi i 32 GB pamięci do węzła obliczeniowego XXLarge z 64 rdzeniami wirtualnymi i 432 GB pamięci na węzeł. Rozmiary węzłów można zmienić po utworzeniu puli, chociaż może być konieczne ponowne uruchomienie wystąpienia.

Rozmiar Rdzenie wirtualne Pamięć
Mały 100 32 GB
Śred. 8 64 GB
Duży 16 128 GB
XLarge 32 256 GB
XXLarge 64 432 GB
XXX — duże (izolowane obliczenia) 80 504 GB

Skalowanie automatyczne

Automatyczne skalowanie dla pul platformy Apache Spark umożliwia automatyczne skalowanie w górę i w dół zasobów obliczeniowych na podstawie ilości działań. Po włączeniu funkcji automatycznego skalowania należy ustawić minimalną i maksymalną liczbę węzłów do skalowania. Gdy funkcja autoskalowania jest wyłączona, liczba ustawionych węzłów pozostanie stała. To ustawienie można zmienić po utworzeniu puli, chociaż może być konieczne ponowne uruchomienie wystąpienia.

Magazyn elastycznej puli

Pule platformy Apache Spark obsługują teraz magazyn elastycznej puli. Magazyn elastycznej puli umożliwia aparatowi Spark monitorowanie tymczasowego magazynu węzła roboczego i dołączanie dodatkowych dysków w razie potrzeby. Pule platformy Apache Spark korzystają z tymczasowego magazynu dysków podczas tworzenia wystąpienia puli. Zadania platformy Spark zapisują dane wyjściowe mapy shuffle, mieszania danych i rozlania danych na lokalne dyski maszyn wirtualnych. Przykłady operacji, które mogą korzystać z dysku lokalnego, to sortowanie, pamięć podręczna i utrwalanie. Gdy zabraknie tymczasowego miejsca na dysku maszyny wirtualnej, zadania platformy Spark mogą zakończyć się niepowodzeniem z powodu błędu "Brak miejsca na dysku" (java.io.IOException: brak miejsca pozostawionego na urządzeniu). W przypadku błędów "Brak miejsca na dysku" znaczna część obciążenia, aby zapobiec przejściu zadań w tryb failover do klienta w celu ponownego skonfigurowania zadań platformy Spark (na przykład dostosowania liczby partycji) lub klastrów (na przykład dodania kolejnych węzłów do klastra). Te błędy mogą nie być spójne, a użytkownik może w dużym stopniu eksperymentować, uruchamiając zadania produkcyjne. Ten proces może być kosztowny dla użytkownika w wielu wymiarach:

  • Zmarnowany czas. Klienci są zobowiązani do eksperymentowania w dużym stopniu z konfiguracjami zadań za pośrednictwem wersji próbnej i błędu i oczekuje się, że zrozumieć wewnętrzne metryki platformy Spark w celu podjęcia właściwej decyzji.
  • Zmarnowane zasoby. Ponieważ zadania produkcyjne mogą przetwarzać różne ilości danych, zadania platformy Spark mogą zakończyć się niepowodzeniem nieokreślono, jeśli zasoby nie są nadmiernie aprowizowane. Rozważmy na przykład problem niesymetryczności danych, co może spowodować, że kilka węzłów wymaga więcej miejsca na dysku niż inne. Obecnie w usłudze Synapse każdy węzeł w klastrze uzyskuje ten sam rozmiar miejsca na dysku i zwiększenie miejsca na dysku we wszystkich węzłach nie jest idealnym rozwiązaniem i prowadzi do ogromnych strat.
  • Spowolnienie wykonywania zadań. W hipotetycznym scenariuszu, w którym rozwiązujemy problem przez węzły skalowania automatycznego (przy założeniu, że koszty nie są problemem dla klienta końcowego), dodanie węzła obliczeniowego jest nadal kosztowne (trwa kilka minut) w przeciwieństwie do dodawania magazynu (zajmuje kilka sekund).

Nie jest wymagana żadna akcja, a w rezultacie powinna zostać wyświetlona mniejsza liczba niepowodzeń zadań.

Uwaga

Magazyn elastycznej puli usługi Azure Synapse jest obecnie dostępny w publicznej wersji zapoznawczej. W publicznej wersji zapoznawczej nie są naliczane opłaty za korzystanie z magazynu elastycznej puli.

Automatyczne wstrzymanie

Funkcja automatycznego wstrzymywania zwalnia zasoby po określonym okresie bezczynności, co zmniejsza całkowity koszt puli platformy Apache Spark. Liczbę minut bezczynności można ustawić po włączeniu tej funkcji. Funkcja automatycznego wstrzymywania jest niezależna od funkcji automatycznego skalowania. Zasoby można wstrzymać niezależnie od tego, czy skalowanie automatyczne jest włączone, czy wyłączone. To ustawienie można zmienić po utworzeniu puli, chociaż należy ponownie uruchomić aktywne sesje.