Clusters beheren
In dit artikel wordt beschreven hoe u Azure Databricks-clusters beheert, waaronder het weergeven, bewerken, starten, beëindigen, verwijderen, beheren van toegang en het bewaken van prestaties en logboeken.
Clusters weergeven
Als u de clusters in uw werkruimte wilt weergeven, klikt u op Compute in de zijbalk.
Aan de linkerkant staan twee kolommen die aangeven of het cluster is vastgemaakt en de status van het cluster. Beweeg de muisaanwijzer over de status om meer informatie te krijgen.
Een cluster vastmaken
30 dagen nadat een cluster is beëindigd, wordt het definitief verwijderd. Als u een clusterconfiguratie voor alle doeleinden wilt behouden nadat een cluster langer dan 30 dagen is beëindigd , kan een beheerder het cluster vastmaken. Er kunnen maximaal honderd clusters worden vastgemaakt.
Beheer s kunnen een cluster vastmaken vanuit de lijst met clusters of op de detailpagina van het cluster door op het speldpictogram te klikken.
U kunt ook het cluster-API-eindpunt aanroepen om een cluster programmatisch vast te maken.
Een clusterconfiguratie weergeven als een JSON-bestand
Soms kan het handig zijn om uw clusterconfiguratie als JSON weer te geven. Dit is vooral handig wanneer u vergelijkbare clusters wilt maken met behulp van de Clusters-API. Wanneer u een bestaand cluster bekijkt, gaat u naar het tabblad Configuratie , klikt u op JSON in de rechterbovenhoek van het tabblad, kopieert u de JSON en plakt u deze in uw API-aanroep. De JSON-weergave heeft het kenmerk Alleen-lezen.
Een cluster bewerken
U kunt een clusterconfiguratie bewerken vanuit de gebruikersinterface voor clusterdetails. U kunt ook het cluster-API-eindpunt aanroepen om het cluster programmatisch te bewerken.
Notitie
- Notebooks en taken die aan het cluster zijn gekoppeld, blijven gekoppeld na bewerking.
- Bibliotheken die op het cluster zijn geïnstalleerd, blijven geïnstalleerd na bewerking.
- Als u een kenmerk van een actief cluster bewerkt (met uitzondering van de clustergrootte en machtigingen), moet u het opnieuw opstarten. Dit kan gebruikers verstoren die momenteel het cluster gebruiken.
- U kunt actieve of beëindigde clusters alleen bewerken. U kunt echter wel machtigingen bijwerken voor clusters die zich niet in deze statussen bevinden, op de pagina met clusterdetails.
Een cluster klonen
Als u een bestaand cluster wilt klonen, selecteert u Klonen in het menu Voor het cluster (ook wel bekend als het menu met drie punten).
Nadat u kloon hebt geselecteerd, wordt de gebruikersinterface voor het maken van het cluster vooraf ingevuld met de clusterconfiguratie. De volgende kenmerken zijn niet opgenomen in de kloon:
- Clustermachtigingen
- Geïnstalleerde bibliotheken
- Gekoppelde notitieblokken
Toegang tot clusters beheren
Met toegangsbeheer voor clusters op de pagina met beheerdersinstellingen kunnen werkruimtebeheerders nauwkeurige clustertoegang verlenen aan andere gebruikers. Er zijn twee typen clustertoegangsbeheer:
- Machtiging voor het maken van clusters: werkruimtebeheerders kunnen kiezen welke gebruikers clusters mogen maken.
- Machtigingen op clusterniveau: een gebruiker met de machtiging Kan beheren voor een cluster kan configureren of andere gebruikers aan dat cluster kunnen koppelen, opnieuw kunnen opstarten, het formaat ervan kunnen wijzigen en beheren.
Als u machtigingen voor een cluster wilt bewerken, selecteert u Machtigingen bewerken in het menu Van dat cluster.
Zie Clustertoegangsbeheer voor meer informatie over clustertoegangsbeheer en machtigingen op clusterniveau.
Een cluster beëindigen
Als u clusterbronnen wilt opslaan, kunt u een cluster beëindigen. De configuratie van het beëindigde cluster wordt opgeslagen, zodat het opnieuw kan worden gebruikt (of, in het geval van taken, automatisch gestart) op een later tijdstip. U kunt een cluster handmatig beëindigen of het cluster zo configureren dat het automatisch wordt beëindigd na een opgegeven periode van inactiviteit. Wanneer het aantal beëindigde clusters groter is dan 150, worden de oudste clusters verwijderd.
Tenzij een cluster is vastgemaakt of opnieuw wordt opgestart, wordt het automatisch en permanent verwijderd 30 dagen na beëindiging.
Beëindigde clusters worden weergegeven in de lijst met clusters met een grijze cirkel links van de clusternaam.
Notitie
Wanneer u een taak uitvoert op een nieuw taakcluster (wat meestal wordt aanbevolen), wordt het cluster beëindigd en is het niet beschikbaar voor opnieuw opstarten wanneer de taak is voltooid. Als u daarentegen een taak plant om uit te voeren op een bestaand all-purpose cluster dat is beëindigd, wordt dat cluster automatisch gestart.
Belangrijk
Als u een Premium-evaluatiewerkruimte gebruikt, worden alle actieve clusters beëindigd:
- Wanneer u een werkruimte bijwerkt naar volledige Premium.
- Als de werkruimte niet is bijgewerkt en de proefversie verloopt.
Handmatige beëindiging
U kunt een cluster handmatig beëindigen vanuit de lijst met clusters (door op het vierkant in de rij van het cluster te klikken) of op de pagina met clusterdetails (door op Beëindigen te klikken).
Automatische beëindiging (Engelstalig)
U kunt ook automatische beëindiging voor een cluster instellen. Tijdens het maken van het cluster kunt u in enkele minuten een inactiviteitsperiode opgeven waarna het cluster moet worden beëindigd.
Als het verschil tussen de huidige tijd en de laatste opdracht die op het cluster wordt uitgevoerd, groter is dan de opgegeven inactiviteitsperiode, beëindigt Azure Databricks dat cluster automatisch.
Een cluster wordt als inactief beschouwd wanneer alle opdrachten in het cluster, waaronder Spark-taken, Structured Streaming en JDBC-aanroepen, zijn uitgevoerd.
Waarschuwing
- Clusters rapporteren geen activiteit die het gevolg is van het gebruik van DStreams. Dit betekent dat een automatisch afsluitcluster kan worden beëindigd terwijl DStreams wordt uitgevoerd. Schakel automatische beëindiging uit voor clusters met DStreams of overweeg het gebruik van Structured Streaming.
- De functie voor automatische beëindiging bewaakt alleen Spark-taken, niet door de gebruiker gedefinieerde lokale processen. Als alle Spark-taken zijn voltooid, kan een cluster daarom worden beëindigd, zelfs als lokale processen worden uitgevoerd.
- Niet-actieve clusters blijven DBU- en cloudinstantiekosten verzamelen tijdens de inactiviteitsperiode vóór beëindiging.
Automatische beëindiging configureren
U kunt automatische beëindiging configureren in de gebruikersinterface van het cluster maken. Zorg ervoor dat het selectievakje is ingeschakeld en voer het aantal minuten in de instelling Beëindigen na ___ minuten van inactiviteit in.
U kunt zich afmelden voor automatische beëindiging door het selectievakje Automatische beëindiging uit te schakelen of door een inactiviteitsperiode van 0
.
Notitie
Automatische beëindiging wordt het beste ondersteund in de nieuwste Spark-versies. Oudere Spark-versies hebben bekende beperkingen die kunnen leiden tot onjuiste rapportage van clusteractiviteit. Clusters met JDBC-, R- of streamingopdrachten kunnen bijvoorbeeld een verlopen activiteitstijd rapporteren die leidt tot voortijdige beëindiging van het cluster. Voer een upgrade uit naar de meest recente Spark-versie om te profiteren van bugfixes en verbeteringen in automatische beëindiging.
Onverwachte beëindiging
Soms wordt een cluster onverwacht beëindigd, niet als gevolg van een handmatige beëindiging of een geconfigureerde automatische beëindiging.
Zie de Knowledge Base voor een lijst met beëindigingsredenen en herstelstappen.
Een cluster verwijderen
Als u een cluster verwijdert, wordt het cluster beëindigd en wordt de configuratie ervan verwijderd. Als u een cluster wilt verwijderen, selecteert u Verwijderen in het menu van het cluster.
Waarschuwing
U kunt deze actie niet ongedaan maken.
Als u een vastgemaakt cluster wilt verwijderen, moet het eerst worden losgemaakt door een beheerder.
U kunt ook het cluster-API-eindpunt aanroepen om een cluster programmatisch te verwijderen.
Een cluster opnieuw opstarten
U kunt een eerder beëindigd cluster opnieuw opstarten vanuit de lijst met clusters, de pagina met clusterdetails of een notebook. U kunt ook het cluster-API-eindpunt aanroepen om programmatisch een cluster te starten.
Azure Databricks identificeert een cluster met behulp van de unieke cluster-id. Wanneer u een beëindigd cluster start, maakt Databricks het cluster opnieuw met dezelfde id, installeert automatisch alle bibliotheken en worden de notebooks opnieuw gekoppeld.
Notitie
Als u een evaluatiewerkruimte gebruikt en de proefversie is verlopen, kunt u geen cluster starten.
Een cluster opnieuw opstarten om het bij te werken met de nieuwste installatiekopieën
Wanneer u een cluster opnieuw opstart, worden de meest recente installatiekopieën opgehaald voor de rekenresourcecontainers en de VM-hosts. Het is belangrijk om regelmatig opnieuw opstarten te plannen voor langlopende clusters, zoals clusters die worden gebruikt voor het verwerken van streaminggegevens.
Het is uw verantwoordelijkheid om alle rekenresources regelmatig opnieuw op te starten om de installatiekopieën up-to-date te houden met de nieuwste versie van de installatiekopieën.
Belangrijk
Als u het nalevingsbeveiligingsprofiel voor uw account of werkruimte inschakelt, worden langlopende clusters na 25 dagen automatisch opnieuw opgestart. Databricks raadt aan dat werkruimtebeheerders clusters handmatig opnieuw opstarten tijdens een gepland onderhoudsvenster. Dit vermindert het risico dat automatisch opnieuw opstarten een geplande taak verstoort.
Notebook-voorbeeld: Langlopende clusters zoeken
Als u een werkruimtebeheerder bent, kunt u een script uitvoeren dat bepaalt hoe lang elk van uw clusters wordt uitgevoerd en deze desgewenst opnieuw opstarten als ze ouder zijn dan een opgegeven aantal dagen. Azure Databricks biedt dit script als notebook.
De eerste regels van het script definiëren configuratieparameters:
min_age_output
: Het maximum aantal dagen dat een cluster kan worden uitgevoerd. Standaard is 1.perform_restart
: AlsTrue
het script clusters opnieuw start met een leeftijd die groter is dan het aantal dagen dat is opgegeven doormin_age_output
. De standaardwaarde isFalse
, waarmee de langlopende clusters worden geïdentificeerd, maar deze niet opnieuw worden opgestart.secret_configuration
: Vervang enREPLACE_WITH_KEY
doorREPLACE_WITH_SCOPE
een geheim bereik en sleutelnaam. Zie het notebook voor meer informatie over het instellen van de geheimen.
Waarschuwing
Als u deze optie instelt perform_restart
True
, start het script automatisch in aanmerking komende clusters opnieuw op, waardoor actieve taken mislukken en geopende notebooks opnieuw instellen. Als u het risico wilt beperken dat de bedrijfskritieke taken van uw werkruimte worden onderbroken, moet u een gepland onderhoudsvenster plannen en ervoor zorgen dat u de gebruikers van de werkruimte op de hoogte brengt.
Notebook met langlopende clusters identificeren en optioneel opnieuw opstarten
Automatisch starten van clusters voor taken en JDBC-/ODBC-query's
Wanneer een taak die is toegewezen aan een beëindigd cluster is gepland om te worden uitgevoerd of als u verbinding maakt met een beëindigd cluster vanuit een JDBC-/ODBC-interface, wordt het cluster automatisch opnieuw opgestart. Zie Een taak en JDBC-verbinding maken.
Met automatische start van clusters kunt u clusters zodanig configureren dat ze automatisch worden beëindigd zonder dat handmatige tussenkomst nodig is om de clusters opnieuw op te starten voor geplande taken. Bovendien kunt u de initialisatie van het cluster plannen door een taak te plannen die moet worden uitgevoerd op een beëindigd cluster.
Voordat een cluster automatisch opnieuw wordt opgestart, worden machtigingen voor toegangsbeheer voor clusters en taken gecontroleerd.
Notitie
Als uw cluster is gemaakt in Azure Databricks-platformversie 2.70 of eerder, is er geen autostart: taken die zijn gepland voor uitvoering op beëindigde clusters mislukken.
Clustergegevens weergeven in de Apache Spark-gebruikersinterface
U kunt gedetailleerde informatie over Spark-taken bekijken door het tabblad Spark UI te selecteren op de pagina met clusterdetails.
Als u een beëindigd cluster opnieuw start, geeft de Spark-gebruikersinterface informatie weer over het opnieuw opgestarte cluster, niet de historische informatie over het beëindigde cluster.
Clusterlogboeken weergeven
Azure Databricks biedt drie soorten logboekregistratie van clustergerelateerde activiteiten:
- Gebeurtenislogboeken van clusters, waarin gebeurtenissen voor de levenscyclus van clusters worden vastgelegd, zoals het maken, beëindigen en configureren van bewerkingen.
- Apache Spark-stuurprogramma en -werklogboek, dat u kunt gebruiken voor foutopsporing.
- Logboeken van cluster-init-script, die waardevol zijn voor het opsporen van fouten init-scripts.
In deze sectie worden gebeurtenislogboeken van clusters en stuurprogramma- en werklogboeken besproken. Zie Logboekregistratie van Init-scripts voor meer informatie over logboekregistratie van init-scripts.
Gebeurtenislogboeken van cluster
In het gebeurtenislogboek van het cluster worden belangrijke gebeurtenissen voor de levenscyclus van clusters weergegeven die handmatig worden geactiveerd door gebruikersacties of automatisch door Azure Databricks. Dergelijke gebeurtenissen zijn van invloed op de werking van een cluster als geheel en op de taken die worden uitgevoerd in het cluster.
Zie de gegevensstructuur van de Clusters-API voor ondersteunde gebeurtenistypen.
Gebeurtenissen worden 60 dagen opgeslagen, wat vergelijkbaar is met andere gegevensretentietijden in Azure Databricks.
Een clustergebeurtenislogboek bekijken
Als u het gebeurtenislogboek van het cluster wilt weergeven, selecteert u het tabblad Gebeurtenislogboek op de pagina's met clusterdetails.
Klik voor meer informatie over een gebeurtenis op de rij in het logboek en klik vervolgens op het tabblad JSON voor meer informatie.
Clusterstuurprogramma- en werklogboeken
De directe afdruk- en loginstructies van uw notebooks, taken en bibliotheken gaan naar de logboeken van het Spark-stuurprogramma. U kunt deze logboekbestanden openen via het tabblad Logboeken van stuurprogramma's op de pagina met clusterdetails. Klik op de naam van een logboekbestand om het te downloaden.
Deze logboeken hebben drie uitvoeren:
- Standaarduitvoer
- Standaardfout
- Log4j-logboeken
Als u Spark-werklogboeken wilt weergeven, gebruikt u het tabblad Spark-gebruikersinterface . U kunt ook een locatie voor de levering van logboeken voor het cluster configureren. Zowel werkrol- als clusterlogboeken worden geleverd op de locatie die u opgeeft.
Prestaties bewaken
Om u te helpen de prestaties van Azure Databricks-clusters te bewaken, biedt Azure Databricks toegang tot metrische gegevens vanaf de pagina met clusterdetails. Voor Databricks Runtime 12.2 en lager biedt Azure Databricks toegang tot metrische ganglia-gegevens . Voor Databricks Runtime 13.0 en hoger worden metrische clustergegevens geleverd door Azure Databricks.
Daarnaast kunt u een Azure Databricks-cluster configureren om metrische gegevens te verzenden naar een Log Analytics-werkruimte in Azure Monitor, het bewakingsplatform voor Azure.
U kunt datadog-agents ook installeren op clusterknooppunten om metrische gegevens van Datadog naar uw Datadog-account te verzenden.
Metrische clustergegevens
Metrische gegevens van clusters zijn het standaardhulpprogramma voor bewaking voor Databricks Runtime 13.0 en hoger. Als u toegang wilt krijgen tot de gebruikersinterface voor metrische gegevens van het cluster, gaat u naar het tabblad Metrische gegevens op de pagina met clusterdetails.
U kunt historische metrische gegevens weergeven door een tijdsbereik te selecteren met behulp van het filter voor datumkiezer. Metrische gegevens worden elke minuut verzameld. U kunt ook de meest recente metrische gegevens ophalen door op de knop Vernieuwen te klikken. Zie Live en historische metrische gegevens van clusters weergeven voor meer informatie.
Metrische ganglia-gegevens
Notitie
Metrische ganglia-gegevens zijn alleen beschikbaar voor Databricks Runtime 12.2 en lager.
Als u toegang wilt krijgen tot de Ganglia-gebruikersinterface, gaat u naar het tabblad Metrische gegevens op de pagina met clusterdetails. Cpu-metrische gegevens zijn beschikbaar in de Ganglia-gebruikersinterface voor alle Databricks-runtimes. GPU-metrische gegevens zijn beschikbaar voor clusters met GPU-functionaliteit.
Als u live metrische gegevens wilt weergeven, klikt u op de koppeling van de Ganglia-gebruikersinterface .
Als u historische metrische gegevens wilt weergeven, klikt u op een momentopnamebestand. De momentopname bevat geaggregeerde metrische gegevens van het uur voorafgaand aan de geselecteerde tijd.
Notitie
Ganglia wordt niet ondersteund met Docker-containers. Als u een Docker-container met uw cluster gebruikt, zijn metrische gegevens van Ganglia niet beschikbaar.
Verzameling metrische ganglia-gegevens configureren
De standaardinstelling is dat Azure Databricks elke 15 minuten metrische gegevens van Ganglia verzamelt. Als u de verzamelingsperiode wilt configureren, stelt u de DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTES
omgevingsvariabele in met behulp van een init-script of in het spark_env_vars
veld in de cluster-API Maken.
Azure Monitor
U kunt een Azure Databricks-cluster configureren om metrische gegevens te verzenden naar een Log Analytics-werkruimte in Azure Monitor, het bewakingsplatform voor Azure. Zie Bewaking van Azure Databricks voor volledige instructies.
Notitie
Als u de Azure Databricks-werkruimte in uw eigen virtuele netwerk hebt geïmplementeerd en u netwerkbeveiligingsgroepen (NSG) hebt geconfigureerd om al het uitgaande verkeer te weigeren dat niet is vereist voor Azure Databricks, moet u een extra uitgaande regel configureren voor de servicetag 'AzureMonitor'.
Notebook-voorbeeld: metrische gegevens van Datadog
U kunt Datadog-agents op clusterknooppunten installeren om metrische gegevens van Datadog naar uw Datadog-account te verzenden. In het volgende notebook ziet u hoe u een Datadog-agent op een cluster installeert met behulp van een init-script met clusterbereik.
Als u de Datadog-agent op alle clusters wilt installeren, beheert u het init-script met clusterbereik met behulp van een clusterbeleid.
Datadog-agent init-scriptnotebook installeren
Spot-exemplaren buiten bedrijf stellen
Omdat spot-exemplaren kosten kunnen verlagen, is het maken van clusters met spot-exemplaren in plaats van on-demand exemplaren een veelgebruikte manier om taken uit te voeren. Spot-exemplaren kunnen echter worden afgewend door planningsmechanismen voor cloudproviders. Het gebruik van spot-exemplaren kan problemen veroorzaken met taken die worden uitgevoerd, waaronder:
- Fouten bij ophalen in willekeurige volgorde
- Gegevensverlies in willekeurige volgorde wijzigen
- RDD-gegevensverlies
- Taakfouten
U kunt uit bedrijf nemen inschakelen om deze problemen op te lossen. Uit bedrijf nemen profiteert van de melding die de cloudprovider meestal verzendt voordat een spot-exemplaar buiten gebruik wordt gesteld. Wanneer een spot-exemplaar met een uitvoerder een voorlopige melding ontvangt, probeert het buiten gebruik stellende proces shuffle- en RDD-gegevens te migreren naar goede uitvoerders. De duur vóór de definitieve voorbeëindiging is doorgaans 30 seconden tot 2 minuten, afhankelijk van de cloudprovider.
Databricks raadt aan om gegevensmigratie in te schakelen wanneer uit bedrijf genomen ook is ingeschakeld. Over het algemeen neemt de kans op fouten af naarmate er meer gegevens worden gemigreerd, zoals het ophalen van willekeurige fouten, het willekeurige gegevensverlies en RDD-gegevensverlies. Gegevensmigratie kan ook leiden tot minder herberekening en bespaarde kosten.
Notitie
Uit bedrijf nemen is een best effort en garandeert niet dat alle gegevens kunnen worden gemigreerd voordat de definitieve retentie wordt uitgevoerd. Uit bedrijf nemen kan niet garanderen dat het ophalen van willekeurige taken mislukt wanneer actieve taken willekeurige gegevens ophalen van de uitvoeraar.
Als uit bedrijf nemen is ingeschakeld, worden taakfouten die worden veroorzaakt door het voorrangsbeheer van spot-exemplaren niet toegevoegd aan het totale aantal mislukte pogingen. Taakfouten die worden veroorzaakt door voorrang, worden niet meegeteld als mislukte pogingen omdat de oorzaak van de fout extern is voor de taak en niet resulteert in een taakfout.
Buiten gebruik stellen inschakelen
Als u buiten bedrijf wilt stellen voor een cluster, voert u de volgende eigenschappen in op het tabblad Spark onder Geavanceerde opties in de gebruikersinterface van de clusterconfiguratie. Zie De Spark-configuratie voor meer informatie over deze eigenschappen.
Als u buiten gebruik wilt stellen voor toepassingen, voert u deze eigenschap in het veld Spark-configuratie in:
spark.decommission.enabled true
Als u de migratie van willekeurige gegevens tijdens het buiten gebruik stellen wilt inschakelen, voert u deze eigenschap in het veld Spark-configuratie in:
spark.storage.decommission.enabled true spark.storage.decommission.shuffleBlocks.enabled true
Als u de migratie van RDD-cachegegevens tijdens het buiten gebruik stellen wilt inschakelen, voert u deze eigenschap in het veld Spark-configuratie in:
spark.storage.decommission.enabled true spark.storage.decommission.rddBlocks.enabled true
Notitie
Wanneer RDD StorageLevel-replicatie is ingesteld op meer dan 1, raadt Databricks het inschakelen van RDD-gegevensmigratie niet aan, omdat de replica's ervoor zorgen dat RDD's geen gegevens verliezen.
Als u buiten bedrijf wilt stellen voor werknemers, voert u deze eigenschap in het veld Omgevingsvariabelen in:
SPARK_WORKER_OPTS="-Dspark.decommission.enabled=true"
De reden voor uit bedrijf nemen en verliezen weergeven in de gebruikersinterface
Als u de buitengebruikstellingsstatus van een werkrol wilt openen vanuit de gebruikersinterface van het Spark-cluster, gaat u naar het tabblad Hoofd .
Wanneer het buiten gebruik stellen is voltooid, kunt u de reden voor verlies van de uitvoerder bekijken op het tabblad Uitvoerders van de Spark-gebruikersinterface > op de pagina met clusterdetails.