Hantera kluster

Den här artikeln beskriver hur du hanterar Azure Databricks-kluster, inklusive att visa, redigera, starta, avsluta, ta bort, kontrollera åtkomst och övervaka prestanda och loggar.

Visa kluster

Om du vill visa klustren på arbetsytan klickar du på compute iconBeräkning i sidofältet.

Till vänster finns två kolumner som anger om klustret har fästs och klustrets status. Hovra över statusen för att få mer information.

Fästa ett kluster

30 dagar efter att ett kluster har avslutats tas det bort permanent. Om du vill behålla en klusterkonfiguration för alla syften när ett kluster har avslutats i mer än 30 dagar kan en administratör fästa klustret. Det går att fästa upp till 100 kluster.

Administratörer kan fästa ett kluster från klusterlistan eller klusterinformationssidan genom att klicka på fästikonen.

Du kan också anropa kluster-API-slutpunkten för att fästa ett kluster programmatiskt.

Visa en klusterkonfiguration som en JSON-fil

Ibland kan det vara bra att visa klusterkonfigurationen som JSON. Detta är särskilt användbart när du vill skapa liknande kluster med hjälp av kluster-API:et. När du visar ett befintligt kluster går du till fliken Konfiguration , klickar på JSON längst upp till höger på fliken, kopierar JSON och klistrar in den i API-anropet. JSON-vyn är skrivskyddad.

Redigera ett kluster

Du kan redigera en klusterkonfiguration från användargränssnittet för klusterinformation. Du kan också anropa kluster-API-slutpunkten för att redigera klustret programmatiskt.

Kommentar

  • Notebook-filer och jobb som har kopplats till klustret förblir kopplade efter redigering.
  • Bibliotek som är installerade på klustret förblir installerade efter redigering.
  • Om du redigerar ett attribut för ett kluster som körs (förutom klusterstorleken och behörigheterna) måste du starta om det. Detta kan störa användare som för närvarande använder klustret.
  • Du kan bara redigera kluster som körs eller avslutas. Du kan dock uppdatera behörigheter för kluster som inte är i dessa tillstånd på sidan med klusterinformation.

Klona ett kluster

Om du vill klona ett befintligt kluster väljer du Klona från klustrets Kebab menu kebabmeny (kallas även för menyn med tre punkter).

När du har valt klona öppnas användargränssnittet för klusterskapande i förväg ifyllt med klusterkonfigurationen. Följande attribut ingår inte i klonen:

  • Klusterbehörigheter
  • Installerade bibliotek
  • Anslutna anteckningsböcker

Kontrollera åtkomsten till kluster

Med åtkomstkontroll för kluster på sidan administratörsinställningar kan arbetsyteadministratörer ge detaljerad klusteråtkomst till andra användare. Det finns två typer av åtkomstkontroll för kluster:

  • Behörighet att skapa kluster: Arbetsyteadministratörer kan välja vilka användare som ska kunna skapa kluster.
  • Behörigheter på klusternivå: En användare som har behörigheten Kan hantera för ett kluster kan konfigurera om andra användare kan ansluta till, starta om, ändra storlek på och hantera klustret.

Om du vill redigera behörigheter för ett kluster väljer du Redigera behörigheter från klustrets Kebab menu kebabmeny.

Mer information om åtkomstkontroll för kluster och behörigheter på klusternivå finns i Åtkomstkontroll för kluster.

Avsluta ett kluster

Om du vill spara klusterresurser kan du avsluta ett kluster. Konfigurationen för det avslutade klustret lagras så att den kan återanvändas (eller, om det gäller jobb, startas automatiskt) vid ett senare tillfälle. Du kan avsluta ett kluster manuellt eller konfigurera klustret så att det avslutas automatiskt efter en angiven period av inaktivitet. När antalet avslutade kluster överskrider 150 tas de äldsta klustren bort.

Om inte ett kluster fästs eller startas om tas det bort automatiskt och permanent 30 dagar efter avslutningen.

Avslutade kluster visas i klusterlistan med en grå cirkel till vänster om klusternamnet.

Kommentar

När du kör ett jobb på ett nytt jobbkluster (vilket vanligtvis rekommenderas) avslutas klustret och är inte tillgängligt för omstart när jobbet är klart. Om du däremot schemalägger ett jobb som ska köras på ett befintligt allokeringskluster som har avslutats startar klustret automatiskt.

Viktigt!

Om du använder en Utvärderingsversion premium-arbetsyta avslutas alla kluster som körs:

  • När du uppgraderar en arbetsyta till full Premium.
  • Om arbetsytan inte uppgraderas och utvärderingsversionen upphör att gälla.

Manuell avslutning

Du kan avsluta ett kluster manuellt från klusterlistan (genom att klicka på fyrkanten på klustrets rad) eller på informationssidan för klustret (genom att klicka på Avsluta).

Automatisk avslutning

Du kan också ange automatisk avslutning för ett kluster. När klustret skapas kan du ange en inaktivitetsperiod i minuter efter vilken du vill att klustret ska avslutas.

Om skillnaden mellan den aktuella tiden och den senaste kommandokörningen i klustret är större än den angivna inaktivitetsperioden avslutar Azure Databricks klustret automatiskt.

Ett kluster anses vara inaktivt när alla kommandon i klustret, inklusive Spark-jobb, Strukturerad direktuppspelning och JDBC-anrop, har slutfört körningen.

Varning

  • Kluster rapporterar inte aktivitet som beror på användning av D Flöden. Det innebär att ett automatiskt avslutande kluster kan avslutas medan det kör D Flöden. Inaktivera automatisk avslutning för kluster som kör D Flöden eller överväg att använda strukturerad direktuppspelning.
  • Funktionen för automatisk avslutning övervakar endast Spark-jobb, inte användardefinierade lokala processer. Om alla Spark-jobb har slutförts kan därför ett kluster avslutas, även om lokala processer körs.
  • Inaktiva kluster fortsätter att ackumulera DBU- och molninstansavgifter under inaktivitetsperioden före avslutningen.

Konfigurera automatisk avslutning

Du kan konfigurera automatisk avslutning i användargränssnittet för skapa kluster. Kontrollera att rutan är markerad och ange antalet minuter i inställningen Avsluta efter ___ minuter av inaktivitet .

Du kan välja bort automatisk avslutning genom att avmarkera kryssrutan Automatisk avslutning eller genom att ange en inaktivitetsperiod på 0.

Kommentar

Automatisk avslutning stöds bäst i de senaste Spark-versionerna. Äldre Spark-versioner har kända begränsningar som kan leda till felaktig rapportering av klusteraktivitet. Till exempel kan kluster som kör JDBC-, R- eller strömningskommandon rapportera en inaktuell aktivitetstid som leder till för tidig klusteravslutning. Uppgradera till den senaste Spark-versionen för att dra nytta av felkorrigeringar och förbättringar av automatisk avslutning.

Oväntad avslutning

Ibland avslutas ett kluster oväntat, inte på grund av en manuell avslutning eller en konfigurerad automatisk avslutning.

En lista över uppsägningsorsaker och reparationssteg finns i Kunskapsbasen.

Ta bort ett kluster

Om du tar bort ett kluster avslutas klustret och dess konfiguration tas bort. Om du vill ta bort ett kluster väljer du Ta bort på klustrets Kebab menu meny.

Varning

Du kan inte ångra den här åtgärden.

Om du vill ta bort ett fäst kluster måste det först tas bort av en administratör.

Du kan också anropa kluster-API-slutpunkten för att ta bort ett kluster programmatiskt.

Starta om ett kluster

Du kan starta om ett tidigare avslutat kluster från klusterlistan, klusterinformationssidan eller en notebook-fil. Du kan också anropa kluster-API-slutpunkten för att starta ett kluster programmatiskt.

Azure Databricks identifierar ett kluster med sitt unika kluster-ID. När du startar ett avslutat kluster återskapar Databricks klustret med samma ID, installerar automatiskt alla bibliotek och kopplar om notebook-filerna.

Kommentar

Om du använder en utvärderingsarbetsyta och utvärderingsversionen har upphört att gälla kan du inte starta ett kluster.

Starta om ett kluster för att uppdatera det med de senaste avbildningarna

När du startar om ett kluster hämtar det de senaste avbildningarna för beräkningsresurscontainrarna och de virtuella datorvärdarna. Det är viktigt att schemalägga regelbundna omstarter för långvariga kluster, till exempel de som används för bearbetning av strömmande data.

Det är ditt ansvar att starta om alla beräkningsresurser regelbundet för att hålla avbildningen uppdaterad med den senaste avbildningsversionen.

Viktigt!

Om du aktiverar säkerhetsprofilen för efterlevnad för ditt konto eller din arbetsyta startas långvariga kluster om automatiskt efter 25 dagar. Databricks rekommenderar att arbetsyteadministratörer startar om kluster manuellt under ett schemalagt underhållsperiod. Detta minskar risken för att en automatisk omstart stör ett schemalagt jobb.

Notebook-exempel: Hitta långvariga kluster

Om du är administratör för arbetsytan kan du köra ett skript som avgör hur länge vart och ett av dina kluster har körts, och du kan också starta om dem om de är äldre än ett angivet antal dagar. Azure Databricks tillhandahåller det här skriptet som en notebook-fil.

De första raderna i skriptet definierar konfigurationsparametrar:

  • min_age_output: Det maximala antalet dagar som ett kluster kan köras. Standard är 1.
  • perform_restart: Om Truestartar skriptet om kluster med en ålder som är större än det antal dagar som anges av min_age_output. Standardvärdet är False, som identifierar de långvariga klustren men inte startar om dem.
  • secret_configuration: Ersätt REPLACE_WITH_SCOPE och REPLACE_WITH_KEY med ett hemligt omfång och nyckelnamn. Mer information om hur du konfigurerar hemligheter finns i notebook-filen.

Varning

Om du anger perform_restart till Truestartar skriptet automatiskt om berättigade kluster, vilket kan leda till att aktiva jobb misslyckas och återställer öppna notebook-filer. Om du vill minska risken för att störa arbetsytans affärskritiska jobb planerar du en schemalagd underhållsperiod och meddelar användarna på arbetsytan.

Identifiera och om du vill starta om tidskrävande kluster notebook-fil

Hämta notebook-fil

Autostart av kluster för jobb och JDBC/ODBC-frågor

När ett jobb som tilldelats ett avslutat kluster är schemalagt att köras, eller om du ansluter till ett avslutat kluster från ett JDBC/ODBC-gränssnitt, startas klustret om automatiskt. Se Skapa ett jobb och JDBC-anslutning.

Med autostart av kluster kan du konfigurera kluster så att de avslutas automatiskt utan manuella åtgärder för att starta om klustren för schemalagda jobb. Dessutom kan du schemalägga klusterinitiering genom att schemalägga ett jobb som ska köras på ett avslutat kluster.

Innan ett kluster startas om automatiskt kontrolleras behörigheter för kluster - och jobbåtkomstkontroll .

Kommentar

Om klustret skapades i Azure Databricks-plattformen version 2.70 eller tidigare finns det ingen automatisk start: jobb som är schemalagda att köras på avslutade kluster misslyckas.

Visa klusterinformation i Apache Spark-användargränssnittet

Du kan visa detaljerad information om Spark-jobb genom att välja fliken Spark-användargränssnitt på klusterinformationssidan.

Om du startar om ett avslutat kluster visar Spark-användargränssnittet information för det omstartade klustret, inte historisk information för det avslutade klustret.

Visa klusterloggar

Azure Databricks tillhandahåller tre typer av loggning av klusterrelaterad aktivitet:

  • Klusterhändelseloggar som samlar in händelser för klusterlivscykeln, till exempel skapande, avslutning och konfigurationsredigeringar.
  • Apache Spark-drivrutin och arbetslogg som du kan använda för felsökning.
  • Klusterinitskriptloggar, som är värdefulla för felsökning av init-skript.

I det här avsnittet beskrivs klusterhändelseloggar och drivrutins- och arbetsloggar. Mer information om init-script-loggar finns i Loggning av Init-skript.

Klusterhändelseloggar

Klusterhändelseloggen visar viktiga händelser för klusterlivscykeln som utlöses manuellt av användaråtgärder eller automatiskt av Azure Databricks. Sådana händelser påverkar driften av ett kluster i helhet och jobb som körs i klustret.

Information om händelsetyper som stöds finns i kluster-API-datastrukturen.

Händelser lagras i 60 dagar, vilket är jämförbart med andra datakvarhållningstider i Azure Databricks.

Visa en klusterhändelselogg

Om du vill visa klustrets händelselogg väljer du fliken Händelselogg på klusterinformationssidorna.

Om du vill ha mer information om en händelse klickar du på dess rad i loggen och klickar sedan på fliken JSON för mer information.

Klusterdrivrutiner och arbetsloggar

De direkta utskrifts- och logginstruktionerna från dina notebook-filer, jobb och bibliotek går till Spark-drivrutinsloggarna. Du kan komma åt dessa loggfiler från fliken Drivrutinsloggar på klusterinformationssidan. Klicka på namnet på en loggfil för att ladda ned den.

Dessa loggar har tre utdata:

  • Standardutdata
  • Standardfel
  • Log4j-loggar

Om du vill visa Spark-arbetsloggar använder du fliken Spark-användargränssnitt . Du kan också konfigurera en loggleveransplats för klustret. Både arbets- och klusterloggar levereras till den plats som du anger.

Övervaka prestanda

För att hjälpa dig att övervaka prestanda för Azure Databricks-kluster ger Azure Databricks åtkomst till mått från klusterinformationssidan. För Databricks Runtime 12.2 och nedan ger Azure Databricks åtkomst till Ganglia-mått . För Databricks Runtime 13.0 och senare tillhandahålls klustermått av Azure Databricks.

Dessutom kan du konfigurera ett Azure Databricks-kluster för att skicka mått till en Log Analytics-arbetsyta i Azure Monitor, övervakningsplattformen för Azure.

Du kan också installera Datadog-agenter på klusternoder för att skicka Datadog-mått till ditt Datadog-konto.

Klustermått

Klustermått är standardövervakningsverktyget för Databricks Runtime 13.0 och senare. Om du vill komma åt användargränssnittet för klustermått går du till fliken Mått på klusterinformationssidan.

Du kan visa historiska mått genom att välja ett tidsintervall med hjälp av datumväljarens filter. Mått samlas in varje minut. Du kan också hämta de senaste måtten genom att klicka på knappen Uppdatera . Mer information finns i Visa klustermått i realtid och historiskt.

Ganglia-mått

Kommentar

Ganglia-mått är endast tillgängliga för Databricks Runtime 12.2 och lägre.

Om du vill komma åt Ganglia-användargränssnittet går du till fliken Mått på klusterinformationssidan. CPU-mått är tillgängliga i Ganglia-användargränssnittet för alla Databricks-körningar. GPU-mått är tillgängliga för GPU-aktiverade kluster.

Om du vill visa livemått klickar du på länken för Ganglia-användargränssnittet .

Om du vill visa historiska mått klickar du på en ögonblicksbildfil. Ögonblicksbilden innehåller sammanställda mått för timmen före den valda tiden.

Kommentar

Ganglia stöds inte med Docker-containrar. Om du använder en Docker-container med klustret är Ganglia-mått inte tillgängliga.

Konfigurera Ganglia-måttsamling

Som standard samlar Azure Databricks in Ganglia-mått var 15:e minut. Konfigurera samlingsperioden genom att ange DATABRICKS_GANGLIA_SNAPSHOT_PERIOD_MINUTES miljövariabeln med hjälp av ett init-skript eller i spark_env_vars fältet i API:et Skapa nytt kluster.

Azure Monitor

Du kan konfigurera ett Azure Databricks-kluster för att skicka mått till en Log Analytics-arbetsyta i Azure Monitor, övervakningsplattformen för Azure. Fullständiga anvisningar finns i Övervaka Azure Databricks.

Kommentar

Om du har distribuerat Azure Databricks-arbetsytan i ditt eget virtuella nätverk och du har konfigurerat nätverkssäkerhetsgrupper (NSG) för att neka all utgående trafik som inte krävs av Azure Databricks, måste du konfigurera ytterligare en regel för utgående trafik för tjänsttaggen "AzureMonitor".

Notebook-exempel: Datadog-mått

Datadog metrics

Du kan installera Datadog-agenter på klusternoder för att skicka Datadog-mått till ditt Datadog-konto. Följande notebook-fil visar hur du installerar en Datadog-agent i ett kluster med ett init-skript med klusteromfattning.

Om du vill installera Datadog-agenten i alla kluster hanterar du init-skriptet med klusteromfattning med hjälp av en klusterprincip.

Installera init-skriptanteckningsboken för Datadog-agenten

Hämta notebook-fil

Inaktivera instanser av oanvänd kapacitet

Eftersom instanser av oanvänd kapacitet kan minska kostnaderna är det ett vanligt sätt att köra jobb att skapa kluster med hjälp av oanvända instanser i stället för på begäran-instanser. Spot-instanser kan dock föregripas av schemaläggningsmekanismer för molnleverantörer. Preemption av spot-instanser kan orsaka problem med jobb som körs, inklusive:

  • Fel vid shuffle-hämtning
  • Blanda dataförlust
  • RDD-dataförlust
  • Jobbfel

Du kan aktivera avaktivering för att lösa dessa problem. Avaktivering drar nytta av det meddelande som molnleverantören vanligtvis skickar innan en instans av oanvänd kapacitet inaktiveras. När en instans av oanvänd kapacitet som innehåller en köre tar emot ett meddelande om förinläsning försöker inaktiveringsprocessen migrera shuffle- och RDD-data till felfria utförare. Varaktigheten före den slutliga preemptionen är vanligtvis 30 sekunder till 2 minuter, beroende på molnleverantören.

Databricks rekommenderar att du aktiverar datamigrering när du inaktiverar är också aktiverat. I allmänhet minskar risken för fel när mer data migreras, inklusive shuffle-hämtningsfel, shuffle-dataförlust och RDD-dataförlust. Datamigrering kan också leda till mindre beräkning och sparade kostnader.

Kommentar

Avaktivering är ett bra försök och garanterar inte att alla data kan migreras före den slutliga preemptionen. Inaktivering kan inte garantera att shuffle-hämtningsfel uppstår när aktiviteter som körs hämtar shuffle-data från kören.

När avaktiveringen är aktiverad läggs aktivitetsfel som orsakas av preemption för instanser av oanvänd kapacitet inte till i det totala antalet misslyckade försök. Aktivitetsfel som orsakas av preemption räknas inte som misslyckade försök eftersom orsaken till felet är extern för aktiviteten och inte resulterar i jobbfel.

Aktivera avaktivering

Om du vill aktivera avaktivering i ett kluster anger du följande egenskaper på fliken Spark under Avancerade alternativ i klustrets konfigurationsgränssnitt. Information om dessa egenskaper finns i Spark-konfiguration.

  • Om du vill aktivera avaktivering för program anger du den här egenskapen i fältet Spark-konfiguration :

    spark.decommission.enabled true
    
  • Om du vill aktivera migrering av shuffle-data under inaktivering anger du den här egenskapen i fältet Spark-konfiguration :

    spark.storage.decommission.enabled true
    spark.storage.decommission.shuffleBlocks.enabled true
    
  • Om du vill aktivera migrering av RDD-cachedata under inaktivering anger du den här egenskapen i fältet Spark-konfiguration :

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

    Kommentar

    När RDD StorageLevel-replikering är inställd på mer än 1 rekommenderar Databricks inte att aktivera RDD-datamigrering eftersom replikerna ser till att RDD:er inte förlorar data.

  • Om du vill aktivera avaktivering för arbetare anger du den här egenskapen i fältet Miljövariabler :

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

Visa status och förlustorsak i användargränssnittet

Om du vill komma åt en arbetares avaktiveringsstatus från användargränssnittet går du till fliken Spark-klustergränssnitt – Huvud .

När avaktiveringen är klar kan du visa körens förlustorsak på fliken Körkörningar för Spark-användargränssnittet > på informationssidan för klustret.