Vytvoření clusteru
Tento článek vysvětluje možnosti konfigurace, které jsou k dispozici pro vytvoření clusteru. Další metody najdete v tématu Rozhraní příkazového řádku clusterů (starší verze), rozhraní API clusterů a zprostředkovatele Databricks Terraform.
Poznámka
Tyto pokyny jsou určené pro pracovní prostory s podporou katalogu Unity. Dokumentaci ke staršímu uživatelskému rozhraní, které není katalogem Unity, najdete v tématu Konfigurace clusterů.
Uživatelské rozhraní pro vytváření clusteru vám umožní vybrat konkrétní konfigurace clusteru, včetně následujících:
- Zásady
- Režim přístupu, který řídí funkce zabezpečení používané při interakci s daty
- Verze modulu runtime
- Typy uzlů pracovního procesu clusteru a ovladače
Vytvoření nového clusteru
Chcete-li vytvořit nový cluster, klepněte na tlačítko Nový>cluster na bočním panelu pracovního prostoru. Tím přejdete na stránku Nový výpočetní objekt , kde vyberete specifikace clusteru.
Poznámka
Možnosti konfigurace, které vidíte na této stránce, se budou lišit v závislosti na zásadách, ke kterým máte přístup. Pokud v uživatelském rozhraní nevidíte nastavení, je to proto, že vaše zásady neumožňují toto nastavení konfigurovat.
Politiky
Zásady jsou sadou pravidel, která správci používají k omezení možností konfigurace dostupných uživatelům při vytváření clusteru. Pokud chcete nakonfigurovat cluster podle zásad, vyberte zásadu z rozevíracího seznamu Zásady .
Zásady mají seznamy řízení přístupu, které regulují, kteří uživatelé a skupiny mají k zásadám přístup.
Pokud uživatel nemá neomezený nárok na vytvoření clusteru, může vytvářet pouze clustery pomocí svých udělených zásad.
Zásady osobních výpočetních prostředků
Ve výchozím nastavení mají všichni uživatelé přístup k zásadám osobních výpočetních prostředků , což jim umožňuje vytvářet výpočetní prostředky s jedním počítačem. Pokud při vytváření clusteru nevidíte zásady osobních výpočetních prostředků jako možnost, pak jste k zásadám nedostali přístup. Obraťte se na správce a požádejte o přístup k zásadám osobních výpočetních prostředků nebo příslušné ekvivalentní zásadě.
Režimy přístupu
Režim přístupu ke clusteru je funkce zabezpečení, která určuje, kdo může cluster používat a jaká data mají přístup prostřednictvím clusteru. Při vytváření libovolného clusteru v Azure Databricks musíte vybrat režim přístupu.
Poznámka
Databricks doporučuje používat režim sdíleného přístupu pro všechny úlohy. Režim přiřazeného přístupu používejte jenom v případě, že režim sdíleného přístupu nepodporuje požadované funkce.
Režim přístupu | Viditelné pro uživatele | Podpora UC | Podporované jazyky | Poznámky |
---|---|---|---|---|
Jeden uživatel | Always | Ano | Python, SQL, Scala, R | Může být přiřazen a používán jedním uživatelem. Podívejte se na omezení jednoho uživatele. |
Shared | Always (vyžaduje se plán Premium) | Ano | Python (ve službě Databricks Runtime 11.1 a novějších), SQL, Scala (v clusterech s podporou katalogu Unity pomocí Databricks Runtime 13.3 a vyšší) | Můžou ho používat více uživatelů s izolací dat mezi uživateli. Viz sdílená omezení. |
Žádná sdílená izolace | Správa s může skrýt tento typ clusteru vynucením izolace uživatele na stránce nastavení správce. | Číslo | Python, SQL, Scala, R | Pro sdílené clustery bez izolace je k dispozici související nastavení na úrovni účtu. |
Vlastní | Skryté (pro všechny nové clustery) | Číslo | Python, SQL, Scala, R | Tato možnost se zobrazí jenom v případě, že máte existující clustery bez zadaného režimu přístupu. |
Existující cluster můžete upgradovat tak, aby splňoval požadavky katalogu Unity, a to nastavením režimu přístupu ke clusteru na jeden uživatel nebo sdílený. Existují další omezení režimu přístupu pro strukturované streamování v katalogu Unity, viz podpora strukturovaného streamování.
Omezení režimu přístupu jednoho uživatele
Pokud chcete číst ze zobrazení, musíte mít
SELECT
všechny odkazované tabulky a zobrazení.Dynamická zobrazení nejsou podporována.
Při použití s předáváním přihlašovacích údajů jsou funkce katalogu Unity zakázané.
Nelze použít jeden uživatelský cluster k dotazování tabulek vytvořených kanálem Delta Live Tables s podporou katalogu Unity, včetně streamovaných tabulek a materializovaných zobrazení vytvořených v Databricks SQL. Pokud chcete dotazovat tabulky vytvořené kanálem Delta Live Tables, musíte použít sdílený cluster pomocí Databricks Runtime 13.1 a vyšší.
Omezení režimu sdíleného přístupu
Při použití s předáváním přihlašovacích údajů jsou funkce katalogu Unity zakázané.
Vlastní kontejnery nejsou podporovány.
Úlohy odeslání Sparku se nepodporují.
Databricks Runtime ML se nepodporuje.
Nelze použít rozhraní R, RDD API ani klienty, kteří přímo čtou data z cloudového úložiště, jako je například DBUtils.
Scala může používat pouze v Databricks Runtime 13.3 a novějších.
Pro uživatelem definované funkce (UDF) existují následující omezení:
- Nejde použít uživatelem Definované funkce Hive nebo Scala
- V Databricks Runtime 13.1 a níže nemůžete použít definované uživatelem Pythonu, včetně UDAF, UDF a Pandas ve Sparku (
applyInPandas
amapInPandas
). V Databricks Runtime 13.2 a novějších jsou podporované funkce definované uživatelem Pythonu. - Viz uživatelem definované funkce (UDF) v katalogu Unity.
Musí spouštět příkazy na uzlech clusteru jako uživatel s nízkými oprávněními zakázáno přistupovat k citlivým částem systému souborů. V Databricks Runtime 11.3 a níže můžete vytvořit pouze síťová připojení k portům 80 a 443.
Nejde se připojit ke službě metadat instance nebo k Azure WireServeru.
Pokusy obejít tato omezení budou neúspěšné. Tato omezení platí, aby uživatelé nemohli přistupovat k neprivilegovaným datům prostřednictvím clusteru.
Fungují inicializační skripty a knihovny s režimy přístupu ke katalogu Unity?
V Databricks Runtime 13.3 LTS a novějších jsou inicializační skripty a knihovny podporované ve všech režimech přístupu. Požadavky a podpora se liší. Viz Kompatibilita výpočetních prostředků s knihovnami a inicializačními skripty.
Verze Databricks Runtime
Databricks Runtime je sada základních komponent, které běží na vašich clusterech. Při vytváření nebo úpravě clusteru vyberte modul runtime pomocí rozevíracího seznamu Verze modulu Databricks Runtime. Podrobnosti o konkrétních verzích Databricks Runtime najdete v tématu Moduly runtime Databricks.
Kterou verzi databricks Runtime byste měli použít?
- Pro všechny účely výpočetních prostředků doporučuje Databricks používat nejnovější verzi Databricks Runtime. Použití nejnovější verze zajistí, že máte nejnovější optimalizace a nejaktuálnější kompatibilitu mezi kódem a předem načtenými balíčky.
- U clusterů úloh s provozními úlohami zvažte použití verze Databricks Runtime dlouhodobé podpory (LTS). Použití verze LTS zajistí, že narazíte na problémy s kompatibilitou a před upgradem můžete důkladně otestovat úlohu.
- V případě pokročilých případů použití strojového učení zvažte specializovanou verzi Databricks Runtime.
Všechny verze modulu runtime Databricks zahrnují Apache Spark. Nové verze přidávají komponenty a aktualizace, které zlepšují použitelnost, výkon a zabezpečení.
Povolení akcelerace Photon
Photon je ve výchozím nastavení povolený v clusterech s Modulem Databricks Runtime 9.1 LTS a novějším.
Pokud chcete povolit nebo zakázat akceleraci Photon, zaškrtněte políčko Použít akceleraci photon.
V případě potřeby můžete zadat typ instance v rozevíracích sadě Typ pracovního procesu a Typ ovladače. Databricks doporučuje následující typy instancí pro optimální cenu a výkon:
- Standard_E4ds_v4
- Standard_E8ds_v4
- Standard_E16ds_v4
Typy uzlů pracovních procesů a ovladačů
Cluster se skládá z jednoho uzlu ovladače a nuly nebo více pracovních uzlů. Pro ovladače a pracovní uzly můžete vybrat samostatné typy instancí poskytovatele cloudu, ale ve výchozím nastavení používá uzel ovladače stejný typ instance jako pracovní uzel. Různé rodiny typů instancí odpovídají různým případům použití, jako jsou úlohy náročné na paměť nebo úlohy náročné na výpočetní výkon.
Typ pracovníka
Pracovní uzly Azure Databricks spouštějí exekutory Sparku a další služby potřebné pro správné fungování clusterů. Když distribuujete úlohu pomocí Sparku, veškeré distribuované zpracování probíhá na pracovních uzlech. Azure Databricks spustí jeden exekutor na pracovní uzel. Termíny exekutor a pracovní proces se proto používají zaměnitelně v kontextu architektury Databricks.
Tip
Ke spuštění úlohy Sparku potřebujete aspoň jeden pracovní uzel. Pokud cluster nemá žádné pracovní procesy, můžete na uzlu ovladače spustit jiné příkazy než příkazy Sparku, ale příkazy Sparku selžou.
IP adresy pracovních uzlů
Azure Databricks spouští pracovní uzly se dvěma privátními IP adresami. Primární privátní IP adresa uzlu hostuje interní provoz Azure Databricks. Sekundární privátní IP adresu používá kontejner Sparku pro komunikaci uvnitř clusteru. Tento model umožňuje Službě Azure Databricks poskytovat izolaci mezi několika clustery ve stejném pracovním prostoru.
Typ ovladače
Uzel ovladače udržuje informace o stavu všech poznámkových bloků připojených ke clusteru. Uzel ovladače také udržuje SparkContext, interpretuje všechny příkazy, které spouštíte z poznámkového bloku nebo knihovny v clusteru, a spouští hlavní server Apache Spark, který koordinuje s exekutory Sparku.
Výchozí hodnota typu uzlu ovladače je stejná jako hodnota typu pracovního uzlu. Pokud plánujete velké collect()
množství dat z pracovních procesů Sparku, můžete zvolit větší typ uzlu ovladače s větší pamětí a analyzovat je v poznámkovém bloku.
Tip
Vzhledem k tomu, že uzel ovladače udržuje všechny informace o stavu připojených poznámkových bloků, nezapomeňte odpojit nepoužívané poznámkové bloky z uzlu ovladače.
Typy instancí GPU
Pro výpočetně náročné úlohy, které vyžadují vysoký výkon, jako jsou úlohy spojené s hloubkovým učením, podporuje Azure Databricks clustery akcelerované pomocí grafických procesorů (GPU). Další informace najdete v tématu Clustery s podporou GPU.
Důvěrné výpočetní virtuální počítače Azure (Public Preview)
Typy důvěrných výpočetních virtuálních počítačů Azure brání neoprávněnému přístupu k datům, když se používají, včetně operátora cloudu. Tento typ virtuálního počítače je výhodný pro vysoce regulovaná odvětví a oblasti a také pro firmy s citlivými daty v cloudu. Další informace o důvěrných výpočetních prostředcích Azure najdete v tématu Důvěrné výpočetní prostředí Azure.
Pokud chcete spouštět úlohy pomocí důvěrných výpočetních virtuálních počítačů Azure, vyberte z typů virtuálních počítačů řady DC nebo EC v rozevíracích uzlu pracovního procesu a ovladače. Viz možnosti důvěrného virtuálního počítače Azure.
Spotové instance
Pokud chcete ušetřit náklady, můžete použít spotové instance, označované také jako spotové virtuální počítače Azure, zaškrtnutím políčka Spotové instance.
První instance bude vždy na vyžádání (uzel ovladače je vždy na vyžádání) a následné instance budou spotové instance. Pokud se spotové instance vyřazují z důvodu nedostupnosti, nasadí se instance na vyžádání, aby se nahradily vyřazené instance.
Povolení automatického škálování
Když je zaškrtnuté políčko Povolit automatické škálování , můžete pro cluster zadat minimální a maximální počet pracovních procesů. Databricks pak zvolí odpovídající počet pracovních procesů potřebných ke spuštění úlohy.
Pokud chcete nastavit minimální a maximální počet pracovních procesů, mezi které bude cluster automaticky škálovat, použijte pole Minimální pracovní procesy a Maximální počet pracovních procesů vedle rozevíracího seznamu Typ pracovního procesu.
Pokud automatické škálování nepovolíte, zadáte do pole Pracovní procesy vedle rozevíracího seznamu Typ pracovního procesu pevný počet pracovních procesů.
Poznámka
Po spuštění clusteru se na stránce podrobností clusteru zobrazí počet přidělených pracovních procesů. Počet přidělených pracovních procesů můžete porovnat s konfigurací pracovního procesu a podle potřeby provádět úpravy.
Výhody automatického škálování
Díky automatickému škálování Azure Databricks dynamicky relokuje pracovní procesy, aby zohlednily charakteristiky vaší úlohy. Některé části kanálu můžou být výpočetně náročnější než ostatní a Databricks během těchto fází vaší úlohy automaticky přidá další pracovní procesy (a odebere je, když už nejsou potřeba).
Automatické škálování usnadňuje dosažení vysokého využití clusteru, protože cluster nemusíte zřizovat tak, aby odpovídal úloze. To platí zejména pro úlohy, jejichž požadavky se v průběhu času mění (například zkoumání datové sady v průběhu dne), ale může se také vztahovat na jednorázovou kratší úlohu, jejíž požadavky na zřizování jsou neznámé. Automatické škálování tak nabízí dvě výhody:
- Úlohy můžou běžet rychleji v porovnání s nedostatečně zřízeným clusterem s konstantní velikostí.
- Automatické škálování clusterů může snížit celkové náklady v porovnání se staticky velkým clusterem.
V závislosti na konstantní velikosti clusteru a úlohy nabízí automatické škálování jednu nebo obě tyto výhody současně. Velikost clusteru může být nižší než minimální počet pracovních procesů vybraných při ukončení instancí poskytovatelem cloudu. V tomto případě Azure Databricks neustále opakuje pokusy o opětovné zřízení instancí, aby se zachoval minimální počet pracovních procesů.
Poznámka
Automatické škálování není dostupné pro úlohy spark-submit
.
Poznámka
Automatické škálování výpočetních prostředků má omezení vertikálního snížení kapacity clusteru pro úlohy strukturovaného streamování. Databricks doporučuje používat tabulky Delta Live s rozšířeným automatickým škálováním pro úlohy streamování. Podívejte se, co je vylepšené automatické škálování?
Jak se chová automatické škálování
Pracovní prostor v cenových plánech Premium a Enterprise využívá optimalizované automatické škálování. Pracovní prostory ve standardním cenovém plánu používají standardní automatické škálování.
Optimalizované automatické škálování má následující charakteristiky:
- Vertikálně navyšuje kapacitu z min na maximum v 2 krocích.
- Můžete vertikálně snížit kapacitu, i když cluster není nečinný, a to tak, že se podíváte na stav shuffle souboru.
- Škáluje se dolů na základě procenta aktuálních uzlů.
- V clusterech úloh se vertikálně navyšují kapacitu, pokud je cluster nedostatečně využitý za posledních 40 sekund.
- V clusterech pro všechny účely se vertikálně navyšují kapacitu, pokud je cluster nedostatečně využitý za posledních 150 sekund.
spark.databricks.aggressiveWindowDownS
Vlastnost konfigurace Sparku určuje v sekundách, jak často cluster provádí rozhodnutí o snížení kapacity. Zvýšení hodnoty způsobí snížení kapacity clusteru pomaleji. Maximální hodnota je 600.
Standardní automatické škálování se používá v pracovních prostorech standardního plánu. Standardní automatické škálování má následující charakteristiky:
- Začíná přidáním 8 uzlů. Pak vertikálně navyšte kapacitu exponenciálně a proveďte tolik kroků potřebných k dosažení maximálního počtu kroků.
- Vertikálně se zvětší, když 90 % uzlů není zaneprázdněno 10 minut a cluster je nečinný nejméně na 30 sekund.
- Vertikálně se zvětšuje exponenciálně, počínaje 1 uzlem.
Automatické škálování pomocí fondů
Pokud používáte fond instancí:
- Ujistěte se, že požadovaná velikost clusteru je menší nebo rovna minimálnímu počtu nečinných instancí ve fondu. Pokud je větší, doba potřebná ke spuštění clusteru bude stejná jako u clusteru, který nevyužívá fond.
- Ujistěte se, že maximální velikost clusteru je menší nebo rovna maximální kapacitě fondu. Pokud je větší, vytváření clusteru selže.
Příklad automatického škálování
Pokud změníte konfiguraci statického clusteru na cluster automatického škálování, Azure Databricks okamžitě změní velikost clusteru v rámci minimální a maximální hranice a pak spustí automatické škálování. Následující tabulka například ukazuje, co se stane s clustery s určitou počáteční velikostí, pokud změníte konfiguraci clusteru na automatické škálování mezi 5 a 10 uzly.
Počáteční velikost | Velikost po rekonfiguraci |
---|---|
6 | 6 |
12 | 10 |
3 | 5 |
Automatické škálování místního úložiště
Často může být obtížné odhadnout, kolik místa na disku bude konkrétní úloha trvat. Azure Databricks automaticky umožňuje automatické škálování místního úložiště na všech clusterech Azure Databricks, abyste nemuseli odhadnout, kolik gigabajtů spravovaného disku se má připojit k vašemu clusteru.
Díky automatickému škálování místního úložiště Azure Databricks monitoruje množství volného místa na disku dostupném v pracovních prostředcích Spark vašeho clusteru. Pokud pracovní proces začne na disku běžet příliš málo, Databricks automaticky připojí nový spravovaný disk k pracovnímu procesu před vyčerpáním místa na disku. Disky jsou připojené až k limitu 5 TB celkového místa na disku na virtuální počítač (včetně počátečního místního úložiště virtuálního počítače).
Spravované disky připojené k virtuálnímu počítači se odpojily jenom v případech, kdy se virtuální počítač vrátí do Azure. To znamená, že spravované disky se nikdy neodpojily od virtuálního počítače, pokud jsou součástí spuštěného clusteru. Pokud chcete snížit využití spravovaných disků, Azure Databricks doporučuje použít tuto funkci v clusteru nakonfigurované s automatickým škálováním výpočetních prostředků nebo automatickým ukončením.
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čí. Další informace o ukončení clusteru najdete v tématu Ukončení clusteru.
Šifrování místního disku
Důležité
Tato funkce je ve verzi Public Preview.
Některé typy instancí, které používáte ke spouštění clusterů, můžou mít místně připojené disky. Azure Databricks může ukládat data prohazování nebo dočasné data na těchto místně připojených discích. Pokud chcete zajistit, aby všechna neaktivní uložená data byla šifrovaná pro všechny typy úložišť, včetně dat prohazování uložených dočasně na místních discích clusteru, můžete povolit šifrování místního disku.
Důležité
Vaše úlohy můžou běžet pomaleji kvůli dopadu čtení a zápisu šifrovaných dat do místních svazků a z místních svazků.
Pokud je povolené šifrování místního disku, Azure Databricks generuje místně šifrovací klíč, který je jedinečný pro každý uzel clusteru a slouží k šifrování všech dat uložených na místních discích. Rozsah klíče je místní pro každý uzel clusteru a je zničen společně se samotným uzlem clusteru. Během své životnosti se klíč nachází v paměti pro šifrování a dešifrování a je uložen zašifrovaný na disku.
Pokud chcete povolit šifrování místního disku, musíte použít rozhraní API clusterů. Během vytváření nebo úprav clusteru nastavte enable_local_disk_encryption
hodnotu true
.
Značky clusteru
Značky clusteru umožňují snadno monitorovat náklady na cloudové prostředky používané různými skupinami ve vaší organizaci. Značky můžete zadat jako páry klíč-hodnota při vytváření clusteru a Azure Databricks tyto značky použije na cloudové prostředky, jako jsou virtuální počítače a diskové svazky, a také sestavy využití DBU.
U clusterů spuštěných z fondů se vlastní značky clusteru použijí jenom na sestavy využití DBU a nešírují se do cloudových prostředků.
Podrobné informace o tom, jak společně fungují typy značek fondů a clusterů, najdete v tématu Monitorování využití pomocí značek clusteru, fondu a pracovního prostoru.
Konfigurace značek clusteru:
- V části Značky přidejte pár klíč-hodnota pro každou vlastní značku.
- Klikněte na tlačítko Přidat.
Konfigurace Sparku
Pokud chcete ladit úlohy Sparku, můžete v konfiguraci clusteru zadat vlastní vlastnosti konfigurace Sparku.
Na stránce konfigurace clusteru klikněte na přepínač Upřesnit možnosti .
Klikněte na kartu Spark .
V konfiguraci Sparku zadejte vlastnosti konfigurace jako jeden pár klíč-hodnota na řádek.
Když nakonfigurujete cluster pomocí rozhraní API clusterů, nastavte vlastnosti Sparku v spark_conf
poli v rozhraní API pro vytvoření nového clusteru nebo aktualizujte konfigurační rozhraní API clusteru.
K vynucení konfigurací Sparku v clusterech můžou správci pracovního prostoru používat zásady clusteru.
Načtení vlastnosti konfigurace Sparku z tajného kódu
Databricks doporučuje ukládat citlivé informace, jako jsou hesla, v tajném kódu místo prostého textu. Pokud chcete odkazovat na tajný klíč v konfiguraci Sparku, použijte následující syntaxi:
spark.<property-name> {{secrets/<scope-name>/<secret-name>}}
Pokud například chcete nastavit vlastnost konfigurace Sparku volanou password
na hodnotu tajného kódu uloženého v secrets/acme_app/password
:
spark.password {{secrets/acme-app/password}}
Další informace najdete v tématu Syntaxe pro odkazování na tajné kódy ve vlastnosti konfigurace Sparku nebo proměnné prostředí.
Přístup SSH ke clusterům
Z bezpečnostních důvodů se v Azure Databricks ve výchozím nastavení port SSH zavře. Pokud chcete povolit přístup SSH ke clusterům Spark, přečtěte si téma SSH k uzlu ovladače clusteru.
Poznámka
SSH je možné povolit jenom v případě, že je váš pracovní prostor nasazený ve vaší vlastní virtuální síti Azure.
Proměnné prostředí
Můžete nakonfigurovat vlastní proměnné prostředí, ke kterým máte přístup z inicializačních skriptů spuštěných v clusteru. Databricks také poskytuje předdefinované proměnné prostředí, které můžete použít v inicializačních skriptech. Tyto předdefinované proměnné prostředí nelze přepsat.
Na stránce konfigurace clusteru klikněte na přepínač Upřesnit možnosti .
Klikněte na kartu Spark .
Nastavte proměnné prostředí v poli Proměnné prostředí.
Proměnné prostředí můžete také nastavit pomocí spark_env_vars
pole v rozhraní API pro vytvoření nového clusteru nebo aktualizovat rozhraní API konfigurace clusteru.
Doručení protokolu clusteru
Při vytváření clusteru můžete zadat umístění pro doručování protokolů uzlu ovladače Sparku, pracovních uzlů a událostí. Protokoly se doručují každých pět minut a archivují se každou hodinu ve zvoleném cíli. Po ukončení clusteru Azure Databricks zaručuje doručování všech protokolů vygenerovaných až do ukončení clusteru.
Cíl protokolů závisí na ID clusteru. Pokud je dbfs:/cluster-log-delivery
zadaný cíl , protokoly clusteru se 0630-191345-leap375
doručí do dbfs:/cluster-log-delivery/0630-191345-leap375
.
Konfigurace umístění doručení protokolu:
- Na stránce konfigurace clusteru klikněte na přepínač Upřesnit možnosti .
- Klikněte na kartu Protokolování .
- Vyberte typ cíle.
- Zadejte cestu k protokolu clusteru.
Poznámka
Tato funkce je také k dispozici v rozhraní REST API. Podívejte se na rozhraní API clusterů.