Gyakorlat – Azure Batch-feladat monitorozása a parancssori felületen
Ha nagy erőforrás-igényű tevékenységeket futtat az Azure Batchcsel, gyakran előfordulhat, hogy szeretné megtudni, mi történik a tevékenységekkel.
A nonprofit szervezet megoldástervezőjeként szüksége lesz arra, hogy hozzáférjen az Azure Batchben zajló eseményekhez. Azt is meg kell határoznia, hogy a csomópontok és a feladatok működnek-e, milyen messze haladtak előre, és hogy letölthető kimeneti fájlokat hoztak-e létre.
Ebben a leckében létrehoz egy, az előző leckében létrehozott feladathoz hasonló feladatot, monitorozza a feladat tevékenységeinek előrehaladását, illetve letölti a tevékenységek kimeneti fájljait, mindezt az Azure CLI használatával.
Fontos
A modulban található gyakorlatok opcionálisak. A gyakorlatok elvégzéséhez saját Azure-előfizetésre lesz szüksége.
Tevékenységek monitorozása a parancssori felület használatával
Az Azure Batch a számítási csomópontok létrehozásának és felügyeletének, valamint a csomópontokon futtatandó feladatok ütemezésének összes részletéről gondoskodik.
Az utolsó lecke tevékenységeinek létrehozásakor az Azure Batch várólistára helyezte a tevékenységeket a készletben történő futtatáshoz. Mivel a csomópontok úgy lettek meghatározva, hogy rendelkezzenek elérhető kapacitással, az Azure Batch úgy ütemezte a tevékenységeket, hogy az adott csomópontokon fussanak.
Az utolsó lecke végén töröltük a feladatot, aminek következtében az összes tevékenysége is törlődött. Most egy új feladatot és új tevékenységeket fogunk létrehozni. Érdemes megjegyezni, hogy a tevékenységek törlése és újbóli létrehozása meglehetősen gyors művelet, és lehetővé teszi különböző kísérletek és projektek egyszerű szétválasztását az Azure Batchben. Ezzel szemben a magasabb szintű Batch-entitások (például fiókok) törlése és újbóli létrehozása több időt vesz igénybe, mivel a Batch-készletet újra létre kell hozni, és virtuális gépeket kell lefoglalni.
Jelentkezzen be az Azure Portalra.
Nyissa meg a Cloud Shellt a felső menü Cloud Shell ikonjának (>_) kiválasztásával.
Futtassa a következő parancsot a Cloud Shellben az új Batch-feladat létrehozásához:
az batch job create \ --id myjob2 \ --pool-id mypool
Másképp neveztük el, hogy elkerülje az előző egység feladatával való ütközést, amely törlésre lett ütemezve, de még nem feltétlenül törölve.
Futtassa a következő parancsot a Batch-tevékenységek új feladaton belüli létrehozásához:
for i in {1..10} do az batch task create \ --task-id mytask$i \ --job-id myjob2 \ --command-line "/bin/bash -c 'echo \$(printenv | grep \AZ_BATCH_TASK_ID) processed by; echo \$(printenv | grep \AZ_BATCH_NODE_ID)'" done
Futtassa a következő parancsot a Cloud Shellben az egyik létrehozott tevékenység állapotának megtekintéséhez:
az batch task show \ --job-id myjob2 \ --task-id mytask1
A tevékenység kimenetének letöltése a parancssori felülettel
A batch-feladat helyes végrehajtásának ellenőrzéséhez letöltheti és megvizsgálhatja a létrehozott fájlokat.
Futtassa a következő parancsot a Cloud Shellben az egyik létrehozott tevékenység által létrehozott fájlok táblázatának megtekintéséhez:
az batch task file list \ --job-id myjob2 \ --task-id mytask5 \ --output table
Feljegyzés
Ha hibaüzenet jelenik
The files of the specified task cannot be accessed as the task state is still active
meg, várjon néhány percet, és futtassa újra a parancsot.Futtassa a következő parancsot a Cloud Shellben egy tevékenységkimenetekhez dedikált könyvtár létrehozásához, majd lépjen be a könyvtárba:
mkdir taskoutputs && cd taskoutputs
Futtassa a következő parancsot a Cloud Shellben a létrehozott tevékenységek által létrehozott fájlok letöltéséhez:
for i in {1..10} do az batch task file download \ --job-id myjob2 \ --task-id mytask$i \ --file-path stdout.txt \ --destination ./stdout$i.txt done
A tevékenységek alapértelmezett munkakönyvtárral rendelkeznek, és alapértelmezés szerint a munka a következőre lesz irányítva
stdout.txt
. Az átcsatolással átirányíthatjukstdout.txt
azokat a számozott verziókatstdout.txt
, amelyek mindegyike egy adott tevékenység munkáját mutatja, és hogy melyik csomópontot használták a végrehajtáshoz.Futtassa a következő parancsot a minta által létrehozott fájlok szöveges tartalmának megtekintéséhez:
cat stdout1.txt && cat stdout2.txt
Ez a kimenet a különböző tevékenységek különböző csomópontokra történő ütemezését mutatja, amint a Batch ütemezője feldolgozza őket.
A következő leckében ismét a helyén hagyjuk az Azure Batch-fiókot és a feldolgozó csomópontok készletét, de töröljük a Batch-feladatot. Mivel a Batch-feladat a Batch-tevékenységek tárolójaként működik, ezeket a tevékenységeket is törölni kell.
A Batch-feladat törléséhez használja a következő parancsot:
az batch job delete --job-id myjob2 -y