Fürt hatókörű init-szkriptek használata

A fürt hatókörű init-szkriptjei a fürtkonfigurációban definiált init szkriptek. A fürt hatókörű init-szkriptjei a létrehozott fürtökre és a feladatok futtatásához létrehozott fürtökre is érvényesek.

A fürt hatókörű init-szkriptjeit a felhasználói felületen, a parancssori felületen és a Clusters API meghívásával konfigurálhatja. Ez a szakasz ezeknek a feladatoknak a felhasználói felületen történő végrehajtására összpontosít. A többi metódust a Databricks CLI és a Clusters API ismerteti.

Tetszőleges számú szkriptet adhat hozzá, és a szkriptek egymás után, a megadott sorrendben lesznek végrehajtva.

Ha egy fürt hatókörű init-szkript nem nulla kilépési kódot ad vissza, a fürt indítása meghiúsul. A fürt hatókörű init-szkriptjeinek hibaelhárításához konfigurálhatja a fürtnaplók kézbesítését , és megvizsgálhatja az init szkriptnaplót. Lásd: Init-szkriptnaplózás.

Fürt hatókörű init-szkript konfigurálása a felhasználói felületen

Ez a szakasz az Azure Databricks felhasználói felületén futó init-szkript futtatására konfigurálja a fürtöket.

A Databricks azt javasolja, hogy az összes init-szkriptet fürthatókörű init-szkriptekként kezelje. Ha megosztott vagy egyfelhasználós hozzáférési móddal használja a számítást, tárolja az init szkripteket Unity Catalog-kötetekben. Ha a számítást elkülönítés nélküli megosztott hozzáférési móddal használja, használjon munkaterületfájlokat init-szkriptekhez.

Megosztott hozzáférési mód esetén init-szkripteket kell hozzáadnia a allowlist. Lásd: Allowlist-kódtárak és init-szkriptek megosztott számításon.

Ha a felhasználói felületet egy fürt init-szkript futtatására való konfigurálásához szeretné használni, hajtsa végre az alábbi lépéseket:

  1. A fürtkonfigurációs lapon kattintson a Speciális beállítások váltógombra.
  2. A lap alján kattintson az Init Scripts fülre .
  3. A Forrás legördülő listában válassza ki a Munkaterület, a Kötet vagy az ABFSS forrástípust.
  4. Adja meg az init szkript elérési útját, például az alábbi példák egyikét:
    • A kezdőlapon tárolt init-szkriptek munkaterületfájlokkal: /Users/<user-name>/<script-name>.sh.
    • Unity Catalog-kötetekkel tárolt init szkript esetén: /Volumes/<catalog>/<schema>/<volume>/<path-to-script>/<script-name>.sh.
    • Objektumtárolóval tárolt init szkript esetén: abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/init-script.
  5. Kattintson a Hozzáadás gombra.

Egyfelhasználós hozzáférési módban a rendszer a hozzárendelt tag (felhasználó vagy szolgáltatásnév) identitását használja.

Megosztott hozzáférési módban a rendszer a fürttulajdonos identitását használja.

Feljegyzés

Az elkülönítés nélküli megosztott hozzáférési mód nem támogatja a köteteket, de ugyanazt az identitás-hozzárendelést használja, mint a megosztott hozzáférési mód.

Ha el szeretne távolítani egy szkriptet a fürtkonfigurációból, kattintson a szkript jobb oldalán található kuka ikonra. Amikor megerősíti a törlést, a rendszer kérni fogja a fürt újraindítását. Ha szeretné, törölheti a szkriptfájlt abból a helyről, ahová feltöltötte.

Feljegyzés

Ha init szkriptet konfigurál az ABFSS-forrástípussal , hozzáférési hitelesítő adatokat kell konfigurálnia.

A Databricks a Microsoft Entra ID szolgáltatásnevek használatát javasolja az Azure Data Lake Storage Gen2-ben tárolt init-szkriptekhez való hozzáférés kezeléséhez. A beállítás elvégzéséhez használja a következő csatolt dokumentációt:

  1. Hozzon létre egy egyszerű szolgáltatást olvasási és listaengedélyekkel a kívánt blobokon. Lásd: Access Storage egy szolgáltatás elvével > Microsoft Entra ID (Azure Active Directory).

  2. Mentse a hitelesítő adatait titkos kulcsok használatával. Lásd a titkos kulcsokat.

  3. Állítsa be a tulajdonságokat a Spark-konfigurációban és a környezeti változókban fürt létrehozásakor, ahogyan az alábbi példában látható:

    Spark-konfiguráció:

    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/token
    

    Környezeti változók:

    SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
    
  4. (Nem kötelező) Init-szkriptek újrabontása az azcopy vagy az Azure CLI használatával.

    Hivatkozhat a fürtkonfiguráció során beállított környezeti változókra az init-szkripteken belül, hogy átadja az ellenőrzés titkos kulcsaként tárolt hitelesítő adatokat.

Figyelmeztetés

A DBFS fürthatókörű init-szkriptjei életciklusuk végéhez kötöttek. A felhasználói felületen található DBFS-beállítás bizonyos munkaterületeken létezik az örökölt számítási feladatok támogatásához, és nem ajánlott. A DBFS-ben tárolt összes init-szkriptet át kell telepíteni. A migrálási utasításokért lásd : Init-szkriptek migrálása a DBFS-ből.

Fürt hatókörű init-szkriptjeinek hibaelhárítása

  • A szkriptnek a konfigurált helyen kell léteznie. Ha a szkript nem létezik, a fürt indítása vagy a végrehajtók vertikális felskálázása sikertelenséget eredményez.
  • Az init szkript nem lehet nagyobb 64 KB-nál. Ha egy szkript túllépi ezt a méretet, a fürt nem indul el, és hibaüzenet jelenik meg a fürtnaplóban.