Fürthatókörű init szkriptek

A fürt hatókörű init-szkriptjei a fürtkonfigurációban meghatározott 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ürtre kiterjedő init szkriptek 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.

Init-szkript fürtszintű konfigurálása a grafikus felületen

Ez a szakasz útmutatást ad egy fürt konfigurálásához az init-szkript futtatására az Azure Databricks felhasználói felületén.

A Databricks azt javasolja, hogy az összes init-szkripteket klaszter-szintű init-szkriptekként kezelje. Ha a számítást standard vagy dedikált hozzáférési móddal (korábban megosztott és egyfelhasználós hozzáférési módokkal) használja, 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.

Szokásos hozzáférési mód esetén init-szkripteket kell hozzáadnia a allowlist. Lásd a standard hozzáférési módú (korábban megosztott hozzáférési módú) számítógép engedélyezési könyvtárakat és initszkripteket.

Az alábbi lépéseket követve konfigurálhatja a felhasználói felületet, hogy egy fürtön futtasson init-szkriptet:

  1. A fürtkonfigurációs lapon kattintson a Speciális kapcsolóra.
  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, Kötet vagy 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 munkaterület fájljaiban tárolt init-szkript esetén: /Workspace/<path-to-script>/<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.

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

Standard 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 standard 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, hogy indítsa újra a fürtö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-ban 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 : Csatlakozás az Azure Data Lake Storage-hoz és a Blob Storage-hoz.

  2. Mentse a hitelesítő adatait titkos kulcsok használatával. Lásd: Titkos kódok kezelése.

  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 érvényesítéshez titokként tárolt hitelesítő adatokat.

Figyelmeztetés

A DBFS klaszterszintű init-szkriptjei elavultak. 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 fog elindulni, és egy hibaüzenet fog megjelenni a fürtnaplóban.