Gyakorlat – Azure Batch-feladat létrehozása a parancssori felületen párhuzamos tevékenység futtatásához
Az Azure CLI lehetővé teszi az Azure Batch-erőforrás parancssorból történő létrehozását és üzembe helyezését.
A nonprofit szervezet megoldástervezőjeként először is hozzon létre egy Batch-megoldást az optikai karakterfelismerési (OCR-) forgatókönyvhöz az Azure-ban. Első lépésként egy Batch-fiók, egy feldolgozócsomópont-készlet, egy feladat és tevékenységek létrehozását fogja tesztelni, mindezt az Azure CLI használatával.
Az Azure CLI egy platformfüggetlen parancssor, amely Azure-erőforrások létrehozására és felügyeletére szolgál. Az Azure CLI egy konzisztens az noun verb --properties
szintaxist használ. Az Azure Batchet felügyelő parancssori felületi parancsok követik ezt a mintát, ezért az összes parancs a következő formában jelenik meg: az batch verb --properties
.
Fontos
A modulban található gyakorlatok opcionálisak. A gyakorlatok elvégzéséhez saját Azure-előfizetésre lesz szüksége.
Az Azure Batch-erőforrások létrehozása
Először is hozza létre az Azure Batch-fiókot és a munkavégző csomópontok készletét a forgatókönyv teszteléséhez. Ezután hozzon létre egy Batch-feladatot és -tevékenységeket a készletben történő futtatáshoz.
Új erőforráscsoport létrehozása
Jelentkezzen be az Azure Portalra.
Válassza az Erőforráscsoportok lehetőséget a bal oldali menüben.
Válassza a +Létrehozás lehetőséget.
Töltse ki az űrlapot a gyakorlat új erőforráscsoportjának létrehozásához, és jegyezze fel a csoport nevét.
Az Azure Batch-fiók létrehozása
A portálon nyissa meg a Cloud Shellt a felső menü Cloud Shell ikonjának (>_) kiválasztásával. A terminálablak tetején található legördülő menü segítségével győződjön meg arról, hogy a Bashben van.
Hozzon létre környezeti változókat az erőforráscsoporthoz és a Batch-erőforráshoz.
RESOURCE_GROUP=<your resource group> BATCH_ACCOUNT=batchaccount$RANDOM
Futtassa a következő parancsot a Cloud Shellben az Azure Batch-fiók létrehozásához. Válassza ki az alábbi helyek egyikét:
westeurope,eastus,eastus2,westus,northcentralus,brazilsouth,northeurope,centralus,eastasia,japaneast,australiasoutheast,japanwest,koreasouth,koreacentral,southeastasia,southcentralus,australiaeast,southindia,centralindia,westindia,canadacentral,canadaeast,uksouth,ukwest,westcentralus,westus2,francecentral,southafricanorth
az batch account create \ --name $BATCH_ACCOUNT \ --resource-group $RESOURCE_GROUP \ --location <choose a location from the preceding list>
Futtassa a következő parancsot az Azure Batch-fiókba történő bejelentkezéshez:
az batch account login \ --name $BATCH_ACCOUNT \ --resource-group $RESOURCE_GROUP \ --shared-key-auth
Hozzon létre egy készletet három, Ubuntu 18.04-et futtató Standard A1 v2 virtuális gépből:
az batch pool create \ --id mypool --vm-size Standard_A1_v2 \ --target-dedicated-nodes 3 \ --image canonical:ubuntuserver:18.04-LTS \ --node-agent-sku-id "batch.node.ubuntu 18.04"
Futtassa a következő parancsot annak rendszeres időközönként történő megállapításához, hogy a csomópontok készen állnak-e:
az batch pool show --pool-id mypool \ --query "allocationState"
Ha ez a lekérdezés azt mutatja, hogy a csomópontok "stabilak", készen állnak a munkára. Amíg "átméretezésként" jelennek meg, valójában ki vannak építve. A felfelé mutató nyílbillentyű használatával megismételheti a legutóbbi parancsot a Cloud Shellben, ha többször szeretné lekérdezni a csomópontok állapotát.
Futtassa a következő parancsot egy Batch-feladat létrehozásához, amely logikai csoportosítás a csomópontokon futtatandó összes tevékenységhez:
az batch job create \ --id myjob \ --pool-id mypool
A Batch-tevékenységek létrehozásához futtassa a következő parancsot:
for i in {1..10} do az batch task create \ --task-id mytask$i \ --job-id myjob \ --command-line "/bin/bash -c 'echo \$(printenv | grep \AZ_BATCH_TASK_ID) processed by; echo \$(printenv | grep \AZ_BATCH_NODE_ID)'" done
Ez a hurok számozott Batch-tevékenységek sorozatát hozza létre, amelyek mindegyike visszaadja az érintett tevékenységazonosító és a csomópont-azonosító adatait. A történések alapos vizsgálatával megismerheti az Azure Batch működésének számos jellemzőjét. A rendszer automatikusan az elérhető kapacitással rendelkező csomópontokra ütemezi a tevékenységeket. Az általunk használt környezeti
AZ_BATCH_TASK_ID
változók (ésAZ_BATCH_NODE_ID
) azonban azt jelzik, hogy melyik tevékenység melyik csomóponton fut, és csak a tevékenységfelhasználó kontextusában érhetők el, amely az egyes csomópontokon létrehozott alapértelmezett fiók a feladatok futtatásához.--command-line
Az argumentum nem közvetlenül a rendszerhéj alatt fut, ezért explicit módon kell meghívnia a rendszerhéjat/bin/bash -c
az olyan parancsok használatához, mintprintenv
az ésgrep
.Ezzel a hurokkal befejeződött az Azure Batch-feladat implementálása. Az Azure Batch-fiókot és a feldolgozó csomópontok készletét a következő modulban használjuk, de a Batch-feladatot töröljük. Mivel a Batch-feladat a Batch-tevékenységek tárolójaként működik, a tevékenységeket is törölni kell.
Futtassa a következő parancsot a Cloud Shellben a Batch-feladat törléséhez:
az batch job delete --job-id myjob -y