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:
Az Alapszintű beállítások lapon jelölje be az Automatikus skálázás engedélyezése jelölőnégyzetet.
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