Share via


Azure Synapse Analytics Apache Spark-készletek automatikus méretezése

Az Azure Synapse Analyticshez készült Apache Spark-készlet automatikus skálázási funkciója automatikusan fel- és leskálázza a fürtpéldányban lévő csomópontok számát. Az Új Apache Spark for Azure Synapse Analytics-készlet létrehozása során az automatikus skálázás kiválasztásakor a csomópontok minimális és maximális száma, legfeljebb 200 csomópont állítható be. Az automatikus skálázás ezután monitorozza a terhelés erőforrás-követelményeit, és fel- vagy leskálázza a csomópontok számát. Ez a funkció felár nélkül használható.

Metrikák monitorozása

Az automatikus skálázás folyamatosan figyeli a Spark-példányt, és összegyűjti a következő metrikákat:

Metrika Leírás
Összes függőben lévő CPU Az összes függőben lévő feladat végrehajtásának megkezdéséhez szükséges magok teljes száma.
Teljes függőben lévő memória Az összes függőben lévő feladat végrehajtásának megkezdéséhez szükséges teljes memória (MB-ban).
Teljes ingyenes CPU Az aktív csomópontok összes fel nem használt magjának összege.
Teljes szabad memória Az aktív csomópontok nem használt memóriájának összege (MB-ban).
Használt memória csomópontonként A csomópont terhelése. A csomópont, amelyen 10 GB memóriát használnak, nagyobb terhelés alatt van, mint egy 2 GB-os memóriahasználattal rendelkező feldolgozó.

A fenti metrikákat 30 másodpercenként ellenőrzi a rendszer. Az automatikus skálázás ezen metrikák alapján vertikális fel- és leskálázási döntéseket hoz.

Terhelésalapú méretezési feltételek

A következő feltételek észlelése esetén az automatikus skálázás skálázási kérést küld:

Vertikális felskálázás Leskálázás
A teljes függőben lévő CPU több mint 1 perc alatt meghaladja a teljes ingyenes CPU-t. A teljes függőben lévő CPU kevesebb, mint 2 percig ingyenes.
A teljes függőben lévő memória nagyobb, mint a teljes szabad memória több mint 1 percig. A teljes függőben lévő memória kevesebb, mint 2 perc szabad memória.

A vertikális felskálázáshoz az Azure Synapse automatikus skálázási szolgáltatás kiszámítja, hogy hány új csomópontra van szükség az aktuális processzor- és memóriakövetelmények teljesítéséhez, majd felskálázási kérelmet ad ki a szükséges csomópontok hozzáadásához.

A leskálázáshoz a végrehajtók száma, az alkalmazások csomópontonkénti főkiszolgálói, az aktuális processzor- és memóriakövetelmények alapján az automatikus skálázás kérést ad ki bizonyos számú csomópont eltávolítására. A szolgáltatás azt is észleli, hogy mely csomópontok legyenek eltávolításra jelölt csomópontok az aktuális feladat végrehajtása alapján. A vertikális leskálázási művelet először leszereli a csomópontokat, majd eltávolítja őket a fürtből.

Feljegyzés

Megjegyzés az automatikus skálázási konfiguráció frissítéséről és kényszerítéséről egy meglévő Spark-készletre. Ha engedélyezve van az Új beállítás kényszerítése az Azure Portalon vagy ForceApplySetting a PowerShellben, akkor az összes meglévő Spark-munkamenet leáll, és a konfigurációs módosítások azonnal érvénybe lépnek. Ha ez a beállítás nincs kiválasztva, akkor a konfiguráció az új Spark-munkamenetekre lesz alkalmazva, és a meglévő munkamenetek nem fejeződnek be.

Első lépések

Kiszolgáló nélküli Apache Spark-készlet létrehozása automatikus méretezéssel

Az automatikus skálázási funkció engedélyezéséhez hajtsa végre a következő lépéseket a normál készletlétrehozás folyamatának részeként:

  1. Az Alapszintű beállítások lapon jelölje be az Automatikus skálázás engedélyezése jelölőnégyzetet.

  2. Adja meg a kívánt értékeket a következő tulajdonságokhoz:

    • Csomópontok minimális száma.
    • Csomópontok maximális száma.

A csomópontok kezdeti száma lesz a minimum. Ez az érték határozza meg a példány kezdeti méretét a létrehozáskor. A csomópontok minimális száma nem lehet háromnál kevesebb.

Ha szeretné, engedélyezheti a végrehajtók dinamikus lefoglalását olyan helyzetekben, ahol a végrehajtói követelmények jelentősen eltérnek a Spark-feladat szakaszaiban, vagy a feldolgozott adatok mennyisége idővel ingadozik. A végrehajtók dinamikus lefoglalásának engedélyezésével igény szerint kihasználhatjuk a kapacitást.

A dinamikus lefoglalás engedélyezésével a feladat a megadott minimális és maximális számú végrehajtón belül skálázhatja a végrehajtók számát.

Az Apache Spark az alábbiak szerint engedélyezi a végrehajtók dinamikus lefoglalásának konfigurálását kódon keresztül:

    %%configure -f
    {
        "conf" : {
            "spark.dynamicAllocation.maxExecutors" : "6",
            "spark.dynamicAllocation.enabled": "true",
            "spark.dynamicAllocation.minExecutors": "2"
     }
    }

A kódban megadott alapértelmezett értékek felülbírálják a felhasználói felületen beállított értékeket.

Ebben a példában, ha a feladathoz csak 2 végrehajtó szükséges, akkor csak 2 végrehajtót fog használni. Ha a feladat többre van szükség, 6 végrehajtót (1 illesztőprogramot, 6 végrehajtót) fog skálázni. Ha a feladatnak nincs szüksége a végrehajtókra, akkor leszereli a végrehajtókat. Ha nincs szüksége a csomópontra, felszabadítja a csomópontot.

Feljegyzés

A maxExecutors lefoglalja a konfigurált végrehajtók számát. Figyelembe véve a példát, még akkor is, ha csak 2-t használ, a 6-ot fogja lefoglalni.

Ezért a dinamikus lefoglalás engedélyezésével a végrehajtók fel- vagy leskálázhatók a végrehajtók kihasználtsága alapján. Ez biztosítja, hogy a végrehajtók a futtatott feladat igényeinek megfelelően legyenek kiépítve.

Ajánlott eljárások

Vegye figyelembe a vertikális fel- vagy leskálázási műveletek késését

A skálázási művelet végrehajtása 1–5 percet is igénybe vehet.

Felkészülés a leskálázásra

A példány skálázási folyamata során az automatikus skálázás leszerelési állapotba helyezi a csomópontokat, hogy új végrehajtók ne tudjanak elindulni a csomóponton.

A futó feladatok továbbra is futnak és befejeződnek. A függőben lévő feladatok a szokásos módon lesznek ütemezve kevesebb elérhető csomóponttal.

Feljegyzés

Alapértelmezés szerint a spark.yarn.executor.decommission.enabled értéke igaz, ami lehetővé teszi a kihasználatlan csomópontok automatikus leállítását a számítási hatékonyság optimalizálása érdekében. Ha a kevésbé agresszív skálázást részesíti előnyben, ez a konfiguráció hamis értékre állítható be.

Következő lépések

Rövid útmutató új Spark-készlet beállításához Spark-készlet létrehozása