Správa clusterů

Tento článek popisuje, jak spravovat clustery Azure Databricks, včetně zobrazení, úprav, spuštění, ukončení, odstranění, řízení přístupu a monitorování výkonu a protokolů.

Zobrazení clusterů

Pokud chcete zobrazit clustery v pracovním prostoru, klikněte na compute iconVýpočetní prostředky na bočním panelu.

Na levé straně jsou dva sloupce označující, jestli je cluster připnutý, a stav clusteru. Pokud chcete získat další informace, najeďte myší na stav.

Připnutí clusteru

30 dnů od ukončení se cluster trvale odstraní. Pokud chcete zachovat konfiguraci clusteru pro všechny účely po ukončení clusteru déle než 30 dní, může ho správce připnout. Připnout je možné až 100 clusterů.

Správa mohou připnout cluster ze seznamu clusteru nebo na stránce podrobností clusteru kliknutím na ikonu připnutí.

Koncový bod rozhraní API clusterů můžete také vyvolat a připnout cluster prostřednictvím kódu programu.

Zobrazení konfigurace clusteru jako souboru JSON

Někdy může být užitečné zobrazit konfiguraci clusteru ve formátu JSON. To je užitečné zejména v případě, že chcete vytvořit podobné clustery pomocí rozhraní API clusterů. Když zobrazíte existující cluster, přejděte na kartu Konfigurace , klikněte v pravém horním rohu karty na JSON , zkopírujte JSON a vložte ho do volání rozhraní API. Zobrazení JSON je jen pro čtení.

Úprava clusteru

Konfiguraci clusteru můžete upravit v uživatelském rozhraní podrobností o clusteru. Můžete také vyvolat koncový bod rozhraní API clusterů a upravit ho prostřednictvím kódu programu.

Poznámka

  • Poznámkové bloky a úlohy připojené ke clusteru zůstanou po úpravách připojené.
  • Knihovny nainstalované v clusteru zůstanou po úpravách nainstalované.
  • Pokud upravíte jakýkoli atribut spuštěného clusteru (s výjimkou velikosti a oprávnění clusteru), musíte ho restartovat. To může narušit uživatele, kteří aktuálně používají cluster.
  • Můžete upravovat pouze spuštěné nebo ukončené clustery. Na stránce podrobností o clusteru ale můžete aktualizovat oprávnění pro clustery, které nejsou v těchto stavech.

Klonování clusteru

Pokud chcete naklonovat existující cluster, vyberte v nabídce kebabu clusteru Kebab menu možnost Clone (označuje se také jako nabídka se třemi tečky).

Po výběru klonování se uživatelské rozhraní pro vytvoření clusteru otevře předem vyplněné konfigurací clusteru. Do klonu nejsou zahrnuty následující atributy:

  • Oprávnění clusteru
  • Nainstalované knihovny
  • Připojené poznámkové bloky

Řízení přístupu ke clusterům

Řízení přístupu ke clusteru na stránce nastavení správce umožňuje správcům pracovního prostoru udělit jemně odstupňovaný přístup ke clusteru jiným uživatelům. Existují dva typy řízení přístupu ke clusteru:

  • Oprávnění k vytvoření clusteru: Správci pracovního prostoru můžou zvolit, kteří uživatelé můžou vytvářet clustery.
  • Oprávnění na úrovni clusteru: Uživatel, který má oprávnění Může spravovat cluster, může nakonfigurovat, jestli se ostatní uživatelé můžou připojit, restartovat, změnit jeho velikost a spravovat ho.

Pokud chcete oprávnění pro cluster upravit, vyberte v nabídce kebabu daného clusteru Kebab menu možnost Upravit oprávnění.

Další informace o řízení přístupu ke clusteru a oprávněních na úrovni clusteru najdete v tématu Řízení přístupu ke clusteru.

Ukončení clusteru

Pokud chcete uložit prostředky clusteru, můžete cluster ukončit. Konfigurace ukončeného clusteru je uložená tak, aby ji bylo možné později znovu použít (nebo v případě úloh automaticky spustit). Cluster můžete ručně ukončit nebo ho nakonfigurovat tak, aby se po zadané době nečinnosti automaticky ukončil. Když počet ukončených clusterů překročí 150, odstraní se nejstarší clustery.

Pokud se cluster připne nebo nerestartuje, automaticky se trvale odstraní 30 dní po ukončení.

Ukončené clustery se zobrazí v seznamu clusterů se šedým kruhem nalevo od názvu clusteru.

Poznámka

Když spustíte úlohu v novém clusteru úloh (což se obvykle doporučuje), cluster se ukončí a po dokončení úlohy nebude k dispozici pro restartování. Pokud naopak naplánujete spuštění úlohy v existujícím clusteru pro všechny účely, který byl ukončen, cluster se automaticky spustí.

Důležité

Pokud používáte zkušební pracovní prostor Premium, všechny spuštěné clustery se ukončí:

  • Při upgradu pracovního prostoru na plnou úroveň Premium.
  • Pokud se pracovní prostor neupgraduje a platnost zkušební verze vyprší.

Ruční ukončení

Cluster můžete ručně ukončit ze seznamu clusterů (kliknutím na čtverec na řádku clusteru) nebo na stránku podrobností clusteru (kliknutím na tlačítko Ukončit).

Automatické ukončení

Můžete také nastavit automatické ukončení clusteru. Během vytváření clusteru můžete zadat dobu nečinnosti v minutách, po které se má cluster ukončit.

Pokud je rozdíl mezi aktuálním časem a posledním spuštěním příkazu v clusteru větší než zadané období nečinnosti, Azure Databricks tento cluster automaticky ukončí.

Cluster se považuje za neaktivní, když se dokončí provádění všech příkazů v clusteru, včetně úloh Sparku, strukturovaného streamování a volání JDBC.

Upozorňující

  • Clustery nehlásí aktivitu vyplývající z použití D Toky. To znamená, že se může ukončit automaticky ukončující cluster, když běží D Toky. Vypněte automatické ukončení clusterů se systémem D Toky nebo zvažte použití strukturovaného streamování.
  • Funkce automatického ukončení monitoruje pouze úlohy Sparku, nikoli uživatelem definované místní procesy. Proto pokud byly dokončeny všechny úlohy Sparku, cluster může být ukončen, i když jsou spuštěny místní procesy.
  • Nečinné clustery nadále hromadí poplatky za DBU a cloudové instance během období nečinnosti před ukončením.

Konfigurace automatického ukončení

Automatické ukončení můžete nakonfigurovat v uživatelském rozhraní pro vytvoření clusteru. Ujistěte se, že je políčko zaškrtnuté, a zadejte počet minut v nastavení ukončení po ___ minutách nečinnosti .

Zrušení automatického ukončení můžete zrušit zrušením zaškrtnutí políčka Automatické ukončení nebo zadáním období 0nečinnosti .

Poznámka

Automatické ukončení se nejlépe podporuje v nejnovějších verzích Sparku. Starší verze Sparku mají známá omezení, která můžou vést k nepřesným hlášení aktivit clusteru. Například clustery s příkazy JDBC, R nebo streamování můžou hlásit zastaralou dobu aktivity, která vede k předčasnému ukončení clusteru. Upgradujte na nejnovější verzi Sparku, abyste mohli využívat opravy chyb a vylepšení automatického ukončení.

Neočekávané ukončení

Někdy se cluster neočekávaně ukončí, ne v důsledku ručního ukončení nebo nakonfigurovaného automatického ukončení.

Seznam důvodů ukončení a nápravných kroků najdete ve znalostní bázi Knowledge Base.

Odstranění clusteru

Odstranění clusteru ukončí cluster a odebere jeho konfiguraci. Pokud chcete cluster odstranit, vyberte v nabídce clusteru Kebab menu možnost Odstranit.

Upozorňující

Tuto akci nelze vrátit zpět.

Pokud chcete připnutý cluster odstranit, musí ho nejdřív odepnout správce.

Koncový bod rozhraní API clusterů můžete také vyvolat a odstranit tak cluster prostřednictvím kódu programu.

Restartování clusteru

Dříve ukončený cluster můžete restartovat ze seznamu clusterů, na stránce podrobností clusteru nebo poznámkového bloku. Můžete také vyvolat koncový bod rozhraní API clusterů a spustit cluster prostřednictvím kódu programu.

Azure Databricks identifikuje cluster pomocí jeho jedinečného ID clusteru. Když spustíte ukončený cluster, Databricks znovu vytvoří cluster se stejným ID, automaticky nainstaluje všechny knihovny a znovu připojí poznámkové bloky.

Poznámka

Pokud používáte zkušební pracovní prostor a platnost zkušební verze vypršela, nebudete moct spustit cluster.

Restartujte cluster a aktualizujte ho nejnovějšími imagemi.

Při restartování clusteru získá nejnovější image pro kontejnery výpočetních prostředků a hostitele virtuálních počítačů. Je důležité naplánovat pravidelné restartování pro dlouhotrvající clustery, jako jsou ty, které se používají ke zpracování streamovaných dat.

Je vaší zodpovědností pravidelně restartovat všechny výpočetní prostředky, aby byla image aktuální s nejnovější verzí image.

Důležité

Pokud pro svůj účet nebo pracovní prostor povolíte profil zabezpečení dodržování předpisů, dlouhotrvající clustery se po 25 dnech automaticky restartují. Databricks doporučuje, aby správci pracovního prostoru restartovali clustery ručně během časového období plánované údržby. Tím se snižuje riziko, že automatické restartování přeruší naplánovanou úlohu.

Příklad poznámkového bloku: Vyhledání dlouhotrvajících clusterů

Pokud jste správcem pracovního prostoru, můžete spustit skript, který určuje, jak dlouho je každý cluster spuštěný, a volitelně je restartovat, pokud jsou starší než zadaný počet dnů. Azure Databricks tento skript poskytuje jako poznámkový blok.

První řádky skriptu definují konfigurační parametry:

  • min_age_output: Maximální počet dní, po který může cluster běžet. Výchozí hodnota je 1.
  • perform_restart: Pokud Trueskript restartuje clustery s věkem delším než počet dnů určených uživatelem min_age_output. Výchozí hodnota je False, která identifikuje dlouhotrvající clustery, ale nerestartuje je.
  • secret_configuration: Nahraďte a nahraďte REPLACE_WITH_SCOPEREPLACE_WITH_KEY oborem tajného kódu a názvem klíče. Další podrobnosti o nastavení tajných kódů najdete v poznámkovém bloku.

Upozorňující

Pokud nastavíte hodnotu perform_restartTrue, skript automaticky restartuje oprávněné clustery, což může způsobit selhání aktivních úloh a resetování otevřených poznámkových bloků. Pokud chcete snížit riziko narušení obchodních úloh pracovního prostoru, naplánujte časové období plánované údržby a nezapomeňte uživatele pracovního prostoru upozornit.

Identifikace a volitelné restartování poznámkového bloku s dlouhotrvajícími clustery

Získat poznámkový blok

Automatický start clusteru pro úlohy a dotazy JDBC/ODBC

Pokud je naplánované spuštění úlohy přiřazené k ukončeném clusteru nebo se připojíte k ukončeného clusteru z rozhraní JDBC/ODBC, cluster se automaticky restartuje. Viz Vytvoření úlohy a připojení JDBC.

Automatický start clusteru umožňuje nakonfigurovat clustery tak, aby se automaticky ukončily bez nutnosti ručního zásahu k restartování clusterů pro naplánované úlohy. Kromě toho můžete naplánovat inicializaci clusteru naplánováním úlohy, která se spustí v ukončeného clusteru.

Před automatickým restartováním clusteru se zkontrolují oprávnění řízení přístupu ke clusteru a úlohě .

Poznámka

Pokud jste cluster vytvořili na platformě Azure Databricks verze 2.70 nebo starší, neexistuje žádný automatický start: úlohy naplánované na ukončení clusterů selžou.

Zobrazení informací o clusteru v uživatelském rozhraní Apache Sparku

Podrobné informace o úlohách Sparku můžete zobrazit výběrem karty Uživatelského rozhraní Sparku na stránce podrobností clusteru.

Pokud restartujete ukončený cluster, v uživatelském rozhraní Sparku se zobrazí informace o restartovaném clusteru, a ne historické informace o ukončeném clusteru.

Zobrazení protokolů clusteru

Azure Databricks poskytuje tři druhy protokolování aktivity související s clustery:

  • Protokoly událostí clusteru, které zaznamenávají události životního cyklu clusteru, jako jsou vytváření, ukončení a úpravy konfigurace.
  • Ovladač Apache Spark a protokol pracovního procesu, který můžete použít k ladění.
  • Protokoly inicializačních skriptů clusteru, které jsou cenné pro ladění inicializačních skriptů.

Tato část popisuje protokoly událostí clusteru a protokoly ovladačů a pracovních procesů. Podrobnosti o protokolech inicializačních skriptů najdete v tématu Protokolování inicializačních skriptů.

Protokoly událostí clusteru

Protokol událostí clusteru zobrazuje důležité události životního cyklu clusteru aktivované ručně akcemi uživatelů nebo automaticky službou Azure Databricks. Takové události mají vliv na provoz celého clusteru i úloh spuštěných v clusteru.

Podporované typy událostí najdete v datové struktuře rozhraní API clusterů.

Události se ukládají po dobu 60 dnů, což je srovnatelné s jinými dobami uchovávání dat v Azure Databricks.

Zobrazení protokolu událostí clusteru

Pokud chcete zobrazit protokol událostí clusteru, vyberte na stránkách podrobností clusteru kartu Protokol událostí.

Další informace o události získáte kliknutím na jeho řádek v protokolu a kliknutím na kartu JSON zobrazíte podrobnosti.

Protokoly ovladačů clusteru a pracovních procesů

Přímý výstup a příkazy protokolování z poznámkových bloků, úloh a knihoven se odesílají do protokolů ovladače Sparku. K těmto souborům protokolů se dostanete z karty Protokoly ovladačů na stránce podrobností clusteru. Kliknutím na název souboru protokolu ho stáhněte.

Tyto protokoly mají tři výstupy:

  • Standardní výstup
  • Standardní chyba
  • Protokoly Log4j

Pokud chcete zobrazit protokoly pracovního procesu Sparku, použijte kartu uživatelského rozhraní Sparku. Můžete také nakonfigurovat umístění doručení protokolu pro cluster. Protokoly pracovního procesu i clusteru se doručují do zadaného umístění.

Monitorování výkonu

Azure Databricks poskytuje přístup k metrikám ze stránky podrobností clusteru, aby vám pomohl monitorovat výkon clusterů Azure Databricks. Pro Databricks Runtime 12.2 a novější poskytuje Azure Databricks přístup k metrikám Ganglia . Pro Databricks Runtime 13.0 a novější poskytuje metriky clusteru Azure Databricks.

Kromě toho můžete nakonfigurovat cluster Azure Databricks tak, aby odesílal metriky do pracovního prostoru služby Log Analytics v Azure Monitoru, což je platforma pro monitorování Azure.

Agenty Datadog můžete také nainstalovat na uzly clusteru a odesílat metriky Datadog do účtu Datadog.

Metriky clusteru

Metriky clusterů jsou výchozím monitorovacím nástrojem pro Databricks Runtime 13.0 a vyšší. Pokud chcete získat přístup k uživatelskému rozhraní metrik clusteru, přejděte na kartu Metriky na stránce podrobností clusteru.

Historické metriky můžete zobrazit výběrem časového rozsahu pomocí filtru pro výběr data. Metriky se shromažďují každou minutu. Nejnovější metriky můžete získat také kliknutím na tlačítko Aktualizovat . Další informace najdete v tématu Zobrazení živých a historických metrik clusteru.

Metriky Ganglia

Poznámka

Metriky Ganglia jsou dostupné pouze pro Databricks Runtime 12.2 a níže.

Pokud chcete získat přístup k uživatelskému rozhraní Ganglia, přejděte na kartu Metriky na stránce podrobností clusteru. Metriky procesoru jsou k dispozici v uživatelském rozhraní Ganglia pro všechny moduly runtime Databricks. Metriky GPU jsou k dispozici pro clustery s podporou GPU.

Pokud chcete zobrazit živé metriky, klikněte na odkaz Uživatelské rozhraní Ganglia.

Pokud chcete zobrazit historické metriky, klikněte na soubor snímku. Snímek obsahuje agregované metriky za hodinu před vybraným časem.

Poznámka

Ganglia se nepodporuje s kontejnery Dockeru. Pokud s clusterem používáte kontejner Dockeru, metriky Ganglia nebudou k dispozici.

Konfigurace shromažďování metrik Ganglia

Azure Databricks ve výchozím nastavení shromažďuje metriky Ganglia každých 15 minut. Pokud chcete nakonfigurovat období shromažďování, nastavte DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTES proměnnou prostředí pomocí inicializačního skriptu nebo pole spark_env_vars v rozhraní API pro vytvoření nového clusteru.

Azure Monitor

Cluster Azure Databricks můžete nakonfigurovat tak, aby odesílal metriky do pracovního prostoru služby Log Analytics ve službě Azure Monitor, monitorovací platformě Pro Azure. Kompletní pokyny najdete v tématu Monitorování Azure Databricks.

Poznámka

Pokud jste nasadili pracovní prostor Azure Databricks ve vlastní virtuální síti a nakonfigurovali jste skupiny zabezpečení sítě (NSG) tak, aby odepřely veškerý odchozí provoz, který Azure Databricks nevyžaduje, musíte nakonfigurovat další odchozí pravidlo pro značku služby AzureMonitor.

Příklad poznámkového bloku: Metriky služby Datadog

Datadog metrics

Agenty Datadog můžete nainstalovat na uzly clusteru a odesílat metriky Datadog do účtu Datadog. Následující poznámkový blok ukazuje, jak nainstalovat agenta Datadog do clusteru pomocí inicializačního skriptu s oborem clusteru.

Pokud chcete nainstalovat agenta Datadog na všechny clustery, spravujte inicializační skript s oborem clusteru pomocí zásad clusteru.

Instalace poznámkového bloku inicializačního skriptu agenta Datadog

Získat poznámkový blok

Vyřazení spotových instancí z provozu

Vzhledem k tomu, že spotové instance můžou snížit náklady, vytváření clusterů využívajících spotové instance místo instancí na vyžádání představuje běžný způsob spouštění úloh. Spotové instance ale můžou být předem ovlivněné mechanismy plánování poskytovatele cloudu. Preemption spotových instancí může způsobovat problémy se spuštěnými úlohami, mezi které patří:

  • Selhání načítání náhodného náhodného načítání
  • Ztráta dat náhodného náhodného prohazování
  • Ztráta dat RDD
  • Selhání úloh

Pokud chcete tyto problémy vyřešit, můžete povolit vyřazení z provozu. Vyřazení z provozu využívá oznámení, že poskytovatel cloudu obvykle odesílá před vyřazením spotové instance z provozu. Když spotová instance obsahující exekutor obdrží oznámení o preemption, proces vyřazení z provozu se pokusí migrovat data náhodného prohazování a RDD do exekutorů, které jsou v pořádku. Doba trvání před poslední preempce je obvykle 30 sekund až 2 minuty v závislosti na poskytovateli cloudu.

Databricks doporučuje povolit migraci dat i při vyřazení z provozu. Obecně platí, že možnost chyb se snižuje, protože se migruje více dat, včetně selhání náhodného načítání, ztráty dat náhodného prohazování a ztráty dat RDD. Migrace dat může také vést k menšímu výpočtu a uloženým nákladům.

Poznámka

Vyřazení z provozu je nejlepší úsilí a nezaručuje migraci všech dat před dokončením ukončení. Vyřazení z provozu nemůže zaručit selhání načítání náhodného prohazování při načítání dat z exekutoru při spouštění úloh.

Při povoleném vyřazení z provozu se selhání úkolů způsobená preempcí spotové instance nepřidávají k celkovému počtu neúspěšných pokusů. Selhání úloh způsobená preempce se nepočítají jako neúspěšné pokusy, protože příčina selhání je pro úkol externí a nezpůsobí selhání úlohy.

Povolení vyřazení z provozu

Pokud chcete v clusteru povolit vyřazení z provozu, zadejte na kartě Spark v části Upřesnit možnosti v uživatelském rozhraní konfigurace clusteru následující vlastnosti. Informace o těchtovlastnostech

  • Pokud chcete povolit vyřazení aplikací z provozu, zadejte tuto vlastnost do konfiguračního pole Sparku:

    spark.decommission.enabled true
    
  • Pokud chcete povolit migraci dat náhodného prohazování během vyřazení z provozu, zadejte tuto vlastnost do konfiguračního pole Sparku:

    spark.storage.decommission.enabled true
    spark.storage.decommission.shuffleBlocks.enabled true
    
  • Pokud chcete povolit migraci dat mezipaměti RDD během vyřazení z provozu, zadejte tuto vlastnost do konfiguračního pole Sparku:

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

    Poznámka

    Pokud je replikace RDD StorageLevel nastavená na více než 1, Databricks nedoporučuje povolit migraci dat RDD, protože repliky zajišťují, že sady RDD nepřijdou o data.

  • Pokud chcete povolit vyřazení pracovních procesů z provozu, zadejte tuto vlastnost do pole Proměnné prostředí:

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

Zobrazení důvodu vyřazení z provozu a ztráty v uživatelském rozhraní

Pokud chcete získat přístup ke stavu vyřazení pracovního procesu z uživatelského rozhraní, přejděte do uživatelského rozhraní clusteru Spark – hlavní karta.

Po dokončení vyřazení z provozu můžete na stránce podrobností clusteru zobrazit důvod ztráty exekutoru na kartě Exekutory uživatelského rozhraní > Sparku.