Środowiska uruchomieniowe usługi Azure Synapse
Pule platformy Apache Spark w usłudze Azure Synapse używają środowisk uruchomieniowych do łączenia podstawowych wersji składników, takich jak optymalizacje usługi Azure Synapse, pakiety i łączniki z określoną wersją platformy Apache Spark. Każde środowisko uruchomieniowe jest okresowo uaktualniane w celu uwzględnienia nowych ulepszeń, funkcji i poprawek. Podczas tworzenia bezserwerowej puli platformy Apache Spark wybierz odpowiednią wersję platformy Apache Spark. Na podstawie tego pula jest wstępnie zainstalowana ze skojarzonymi składnikami i pakietami środowiska uruchomieniowego.
Środowiska uruchomieniowe mają następujące zalety:
- Szybsze czasy uruchamiania sesji
- Przetestowano zgodność z określonymi wersjami platformy Apache Spark
- Dostęp do popularnych, zgodnych łączników i pakietów typu open source
Obsługiwane wersje środowiska uruchomieniowego usługi Azure Synapse
Napiwek
Zdecydowanie zalecamy proaktywne uaktualnianie obciążeń do nowszej ogólnie dostępnej wersji środowiska uruchomieniowego, która jest środowiskiem Uruchomieniowym usługi Azure Synapse dla platformy Apache Spark 3.4 (GA)). Zapoznaj się z przewodnikiem migracji platformy Apache Spark.
W poniższej tabeli wymieniono nazwę środowiska uruchomieniowego, wersję platformy Apache Spark i datę wydania dla obsługiwanych wersji środowiska Uruchomieniowego usługi Azure Synapse.
Nazwa środowiska uruchomieniowego | Data wydania | Etap wydania | Data ogłoszenia zakończenia pomocy technicznej | Data wejścia w życie zakończenia pomocy technicznej |
---|---|---|---|---|
Środowisko uruchomieniowe usługi Azure Synapse dla platformy Apache Spark 3.4 | 21 listopada 2023 r. | Ogólna dostępność (od 8 kwietnia 2024 r.) | Kwartał 2025 r. | Q1 2026 |
Środowisko uruchomieniowe usługi Azure Synapse dla platformy Apache Spark 3.3 | 17 listopada 2022 r. | ogłoszono zakończenie wsparcia | 12 lipca 2024 r. | 3/31/2025 |
Azure Synapse — środowisko uruchomieniowe dla platformy Apache Spark 3.2 | 8 lipca 2022 r. | przestarzałe i wkrótce wyłączone | 8 lipca 2023 r. | 8 lipca 2024 r. |
Środowisko uruchomieniowe usługi Azure Synapse dla platformy Apache Spark 3.1 | 26 maja 2021 r. | przestarzałe i wkrótce wyłączone | 26 stycznia 2023 r. | 26 stycznia 2024 r. |
Środowisko uruchomieniowe usługi Azure Synapse dla platformy Apache Spark 2.4 | 15 grudnia 2020 r. | przestarzałe i wkrótce wyłączone | 29 lipca 2022 roku | 29 września 2023 r. |
Etapy wydania środowiska uruchomieniowego
Pełne środowisko uruchomieniowe dla cyklu życia i zasad pomocy technicznej platformy Apache Spark można znaleźć w artykule Środowisko uruchomieniowe usługi Synapse dla cyklu życia i możliwości obsługi platformy Apache Spark.
Stosowanie poprawek w czasie wykonywania
Środowiska uruchomieniowe usługi Azure Synapse dla poprawek platformy Apache Spark są wdrażane co miesiąc zawierający poprawki błędów, funkcji i zabezpieczeń aparatu platformy Apache Spark, środowisk językowych, łączników i bibliotek.
Uwaga
- Aktualizacje konserwacji zostaną automatycznie zastosowane do nowych sesji dla danej bezserwerowej puli platformy Apache Spark.
- Należy przetestować i sprawdzić, czy aplikacje działają prawidłowo podczas korzystania z nowych wersji środowiska uruchomieniowego.
Ważne
Poprawki zabezpieczeń log4j 1.2.x
Biblioteka Log4j typu open source w wersji 1.2.x ma kilka znanych cve (typowe luki w zabezpieczeniach i ekspozycji), zgodnie z opisem w tym miejscu.
We wszystkich środowiskach uruchomieniowych puli platformy Spark usługi Synapse wprowadziliśmy poprawki do dzienników 4j 1.2.17, aby wyeliminować następujące elementy CVE: CVE-2019-1751, CVE-2020-9488, CVE-2021-4104, CVE-2022-23302, CVE-2022-2330, CVE-2022-23307
Zastosowana poprawka działa przez usunięcie następujących plików, które są wymagane do wywołania luk w zabezpieczeniach:
org/apache/log4j/net/SocketServer.class
org/apache/log4j/net/SMTPAppender.class
org/apache/log4j/net/JMSAppender.class
org/apache/log4j/net/JMSSink.class
org/apache/log4j/jdbc/JDBCAppender.class
org/apache/log4j/chainsaw/*
Chociaż powyższe klasy nie były używane w domyślnych konfiguracjach log4j w usłudze Synapse, istnieje możliwość, że niektóre aplikacje użytkownika nadal mogą od niej zależeć. Jeśli aplikacja musi używać tych klas, użyj usługi Library Management, aby dodać bezpieczną wersję usługi Log4j do puli platformy Spark. Nie należy używać usługi Log4j w wersji 1.2.17, ponieważ spowoduje to ponowne wprowadzenie luk w zabezpieczeniach.
Zasady poprawek różnią się w zależności od etapu cyklu życia środowiska uruchomieniowego:
Ogólnie dostępne (GA) środowisko uruchomieniowe: nie otrzymuj uaktualnień w wersjach głównych (tj. 3.x -> 4.x). I uaktualni wersję pomocniczą (czyli 3.x -> 3.y), o ile nie ma wpływu na wycofanie ani regresję.
Środowisko uruchomieniowe wersji zapoznawczej: brak uaktualnień wersji głównych, chyba że jest to konieczne. Wersje pomocnicze (3.x —> 3.y) zostaną uaktualnione w celu dodania najnowszych funkcji do środowiska uruchomieniowego.
Środowisko uruchomieniowe obsługi długoterminowej (LTS) jest poprawiane tylko poprawkami zabezpieczeń.
Zakończenie wsparcia ogłoszonego środowiska uruchomieniowego nie będzie zawierać poprawek błędów i funkcji. Poprawki zabezpieczeń są przywracane na podstawie oceny ryzyka.
Migracja między wersjami platformy Apache Spark — obsługa
Ten przewodnik zawiera ustrukturyzowane podejście dla użytkowników, którzy chcą uaktualnić środowisko Uruchomieniowe usługi Azure Synapse dla obciążeń platformy Apache Spark z wersji 2.4, 3.1, 3.2 lub 3.3 do najnowszej wersji ogólnie dostępnej, takiej jak 3.4. Uaktualnienie do najnowszej wersji umożliwia użytkownikom korzystanie z ulepszeń wydajności, nowych funkcji i ulepszonych środków zabezpieczeń. Należy pamiętać, że przejście do nowszej wersji może wymagać dostosowania istniejącego kodu platformy Spark z powodu niezgodności lub przestarzałych funkcji.
Krok 1. Ocena i planowanie
- Ocena zgodności: zacznij od przejrzenia przewodników migracji platformy Apache Spark, aby zidentyfikować potencjalne niezgodności, przestarzałe funkcje i nowe interfejsy API między bieżącą wersją platformy Spark (2.4, 3.1, 3.2 lub 3.3) i wersją docelową (np. 3.4).
- Analizowanie bazy kodu: dokładnie zbadaj kod platformy Spark, aby zidentyfikować użycie przestarzałych lub zmodyfikowanych interfejsów API. Zwróć szczególną uwagę na zapytania SQL i funkcje zdefiniowane przez użytkownika (UDF), które mogą mieć wpływ na uaktualnienie.
Krok 2. Tworzenie nowej puli platformy Spark na potrzeby testowania
- Utwórz nową pulę: w usłudze Azure Synapse przejdź do sekcji Pule platformy Spark i skonfiguruj nową pulę platformy Spark. Wybierz docelową wersję platformy Spark (np. 3.4) i skonfiguruj ją zgodnie z wymaganiami dotyczącymi wydajności.
- Konfigurowanie konfiguracji puli platformy Spark: upewnij się, że wszystkie biblioteki i zależności w nowej puli platformy Spark zostały zaktualizowane lub zastąpione jako zgodne z platformą Spark 3.4.
Krok 3. Migrowanie i testowanie kodu
- Migrowanie kodu: zaktualizuj kod tak, aby był zgodny z nowymi lub poprawionymi interfejsami API na platformie Apache Spark 3.4. Obejmuje to rozwiązywanie przestarzałych funkcji i wdrażanie nowych funkcji zgodnie z opisem w oficjalnej dokumentacji platformy Apache Spark.
- Testowanie w środowisku projektowym: przetestuj zaktualizowany kod w środowisku projektowym w usłudze Azure Synapse, a nie lokalnie. Ten krok jest niezbędny do identyfikowania i rozwiązywania wszelkich problemów przed przejściem do środowiska produkcyjnego.
- Wdrażanie i monitorowanie: po dokładnym przetestowaniu i walidacji w środowisku projektowym wdróż aplikację w nowej puli platformy Spark 3.4. Ważne jest, aby monitorować aplikację pod kątem wszelkich nieoczekiwanych zachowań. Skorzystaj z narzędzi do monitorowania dostępnych w usłudze Azure Synapse, aby śledzić wydajność aplikacji Platformy Spark.
Pytanie: Jakie kroki należy wykonać w migracji z wersji 2.4 do 3.X?
Odpowiedź: Zapoznaj się z przewodnikiem po migracji platformy Apache Spark.
Pytanie: Wystąpił błąd podczas próby uaktualnienia środowiska uruchomieniowego puli Platformy Spark przy użyciu polecenia cmdlet programu PowerShell, gdy zostały dołączone biblioteki.
Odpowiedź: Nie używaj polecenia cmdlet programu PowerShell, jeśli masz biblioteki niestandardowe zainstalowane w obszarze roboczym usługi Synapse. Zamiast tego wykonaj następujące kroki:
- Utwórz ponownie pulę platformy Spark 3.3 od podstaw.
- Zmień bieżącą pulę platformy Spark 3.3 na 3.1, usuń wszystkie dołączone pakiety, a następnie uaktualnij ponownie do wersji 3.3.
Pytanie: Dlaczego nie mogę przeprowadzić uaktualnienia do wersji 3.4 bez ponownego utworzenia nowej puli platformy Spark?
Odpowiedź: Nie jest to dozwolone w środowisku użytkownika. Klient może użyć programu Azure PowerShell do zaktualizowania wersji platformy Spark. Użyj polecenia "ForceApplySetting", aby wszystkie istniejące klastry (ze starą wersją) zostały zlikwidowane.
Przykładowe zapytanie:
$_target_work_space = @("workspace1", "workspace2")
Get-AzSynapseWorkspace |
ForEach-Object {
if ($_target_work_space -contains $_.Name) {
$_workspace_name = $_.Name
Write-Host "Updating workspace: $($_workspace_name)"
Get-AzSynapseSparkPool -WorkspaceName $_workspace_name |
ForEach-Object {
Write-Host "Updating Spark pool: $($_.Name)"
Write-Host "Current Spark version: $($_.SparkVersion)"
Update-AzSynapseSparkPool -WorkspaceName $_workspace_name -Name $_.Name -SparkVersion 3.4 -ForceApplySetting
}
}
}