Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Init-scripts met clusterbereik zijn init-scripts die zijn gedefinieerd in een clusterconfiguratie. Init-scripts met clusterbereik zijn van toepassing op beide clusters die u maakt en de clusters die u maakt om taken uit te voeren.
U kunt init-scripts met clusterbereik configureren met behulp van de gebruikersinterface, de CLI en door de Clusters-API aan te roepen. Deze sectie is gericht op het uitvoeren van deze taken met behulp van de gebruikersinterface. Zie de Databricks CLI en de Clusters-API voor de andere methoden.
U kunt een willekeurig aantal scripts toevoegen en de scripts worden opeenvolgend uitgevoerd in de opgegeven volgorde.
Als een init-script met clusterbereik een afsluitcode retourneert die niet nul is, mislukt het starten van het cluster. U kunt problemen met init-scripts met clusterbereik oplossen door de levering van clusterlogboeken te configureren en het logboek van het init-script te controleren. Zie Logboekregistratie van Init-scripts.
Een init-script met clusterbereik configureren met behulp van de gebruikersinterface
Deze sectie bevat instructies voor het configureren van een cluster voor het uitvoeren van een init-script met behulp van de Gebruikersinterface van Azure Databricks.
Databricks raadt aan om alle init-scripts te beheren als cluster-gebaseerde init-scripts. Als u rekenkracht gebruikt met de standaard- of toegewezen toegangsmodus (voorheen gedeelde en toegangsmodi voor één gebruiker), slaat u init-scripts op in Unity Catalog-volumes. Als u rekenkracht gebruikt met de modus voor gedeelde toegang zonder isolatie, gebruikt u werkruimtebestanden voor init-scripts.
Voor de standaardtoegangsmodus moet u init-scripts toevoegen aan de allowlist. Zie Allowlist-bibliotheken en init-scripts voor berekening met de standaardtoegangsmodus (voorheen gedeelde toegangsmodus).
Als u de gebruikersinterface wilt gebruiken om een cluster te configureren voor het uitvoeren van een init-script, voert u de volgende stappen uit:
- Klik op de pagina clusterconfiguratie op de wisselknop Geavanceerd.
- Klik onder aan de pagina op het tabblad Init-scripts .
- Selecteer in de vervolgkeuzelijst Bron het brontype Werkruimte, Volumeof ABFSS.
- Geef een pad op naar het init-script, zoals een van de volgende voorbeelden:
- Voor een init-script dat is opgeslagen in uw werkruimtebestanden:
/Workspace/<path-to-script>/<script-name>.sh - Voor een init-script dat is opgeslagen met Unity Catalog-volumes:
/Volumes/<catalog>/<schema>/<volume>/<path-to-script>/<script-name>.sh - Voor een init-script dat is opgeslagen met objectopslag:
abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/init-script
- Voor een init-script dat is opgeslagen in uw werkruimtebestanden:
- Klik op Toevoegen.
In de toegewezen toegangsmodus wordt de identiteit van de toegewezen principal (een gebruiker of service-principal) gebruikt.
In de standaardtoegangsmodus wordt de identiteit van de clustereigenaar gebruikt.
Notitie
Gedeelde toegangsmodus zonder isolatie biedt geen ondersteuning voor volumes, maar maakt gebruik van dezelfde identiteitstoewijzing als de standaardtoegangsmodus.
Als u een script uit de clusterconfiguratie wilt verwijderen, klikt u op het prullenbakpictogram rechts van het script. Wanneer u de verwijdering bevestigt, wordt u gevraagd het cluster opnieuw op te starten. U kunt het scriptbestand desgewenst verwijderen van de locatie waarnaar u het hebt geüpload.
Notitie
Als u een init-script configureert met behulp van het ABFSS- brontype, moet u toegangsreferenties configureren.
Databricks raadt aan om service-principals van Microsoft Entra ID te gebruiken voor het beheren van de toegang tot initiatiescripts die zijn opgeslagen in Azure Data Lake Storage. Gebruik de volgende gekoppelde documentatie om deze installatie te voltooien:
Maak een service-principal met leesrechten en lijstrechten voor de gewenste blobs. Zie Toegang tot opslag met behulp van een service-principal en Microsoft Entra ID (Azure Active Directory).
Sla uw inloggegevens op met behulp van secrets. Zie Geheimen beheren.
Stel de eigenschappen in de Spark-configuratie en omgevingsvariabelen in tijdens het maken van een cluster, zoals in het volgende voorbeeld:
Spark-configuratie:
spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id> spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}} spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/tokenOmgevingsvariabelen:
SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}(Optioneel) De initscripts herstructureren met behulp van AzCopy of de Azure CLI.
U kunt verwijzen naar omgevingsvariabelen die zijn ingesteld tijdens de clusterconfiguratie in uw init-scripts om referenties door te geven die zijn opgeslagen als geheimen voor validatie.
Waarschuwing
Init-scripts met clusterbereik op DBFS hebben het einde bereikt. De DBFS-optie in de gebruikersinterface bestaat in sommige werkruimten ter ondersteuning van verouderde workloads en wordt niet aanbevolen. Alle init-scripts die zijn opgeslagen in DBFS, moeten worden gemigreerd. Zie Init-scripts migreren vanuit DBFS voor migratie-instructies.
Het oplossen van problemen met init-scripts met clusterbereik
- Het script moet bestaan op de geconfigureerde locatie. Als het script niet bestaat, mislukt de poging om het cluster te starten of de uitvoerders uit te breiden.
- Het init-script mag niet groter zijn dan 64 kB. Als een script deze grootte overschrijdt, kan het cluster niet worden gestart en wordt er een foutbericht weergegeven in het clusterlogboek.