Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bu hızlı başlangıçta, Batch kaynaklarını oluşturmak ve yönetmek için Azure CLI komutlarını ve betiklerini kullanarak Azure Batch'i kullanmaya başlama adımları gösterilmektedir. Sanal makine havuzu veya işlem düğümleri içeren bir Batch hesabı oluşturursunuz. Daha sonra havuz düğümlerinde çalışan görevlerle bir iş oluşturur ve çalıştırırsınız.
Bu hızlı başlangıcı tamamladıktan sonra Batch hizmetinin temel kavramlarını anlarsınız ve Batch'i daha gerçekçi ve daha büyük ölçekli iş yükleriyle kullanmaya hazır olursunuz.
Önkoşullar
-
Azure hesabınız yoksa, başlamadan önce ücretsiz hesap oluşturun.
Azure Cloud Shell veya Azure CLI.
Bu hızlı başlangıçta Azure CLI komutlarını Azure Cloud Shell'de etkileşimli olarak çalıştırabilirsiniz. Cloud Shell'de komutları çalıştırmak için kod bloğunun sağ üst köşesindeki CloudShell'i Aç'ı seçin. Kodu kopyalamak için Kopyala'yı seçin ve çalıştırmak için Cloud Shell'e yapıştırın. Cloud Shell'i Azure portalından da çalıştırabilirsiniz. Cloud Shell her zaman Azure CLI'nın en son sürümünü kullanır.
Alternatif olarak, komutları çalıştırmak için Azure CLI'yi yerel olarak yükleyebilirsiniz. Bu makaledeki adımlar Için Azure CLI sürüm 2.0.20 veya üzeri gerekir. Yüklü sürümünüzü ve bağımlı kitaplıklarınızı görmek için az version komutunu çalıştırın ve yükseltmek için az upgrade komutunu çalıştırın. Yerel yükleme kullanıyorsanız uygun komutu kullanarak Azure'da oturum açın.
Uyarı
Bazı bölgeler ve abonelik türleri için kota kısıtlamaları Batch hesabı veya düğüm oluşturma işleminin başarısız olmasına veya tamamlanmamasına neden olabilir. Bu durumda, ücretsiz olarak kota artışı isteyebilirsiniz. Daha fazla bilgi için bkz. Batch hizmeti kotaları ve sınırları.
Kaynak grubu oluşturma
Azure kaynak grubu oluşturmak için aşağıdaki az group create komutunu çalıştırın. Kaynak grubu, bu hızlı başlangıç için Azure kaynaklarını barındıran bir mantıksal kapsayıcıdır.
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export REGION="canadacentral"
export RESOURCE_GROUP="qsBatch$RANDOM_SUFFIX"
az group create \
--name $RESOURCE_GROUP \
--location $REGION
Sonuç -ları:
{
"id": "/subscriptions/xxxxx/resourceGroups/qsBatchxxx",
"location": "eastus2",
"managedBy": null,
"name": "qsBatchxxx",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
Depolama hesabı oluşturma
Batch hesabınıza bağlanmak üzere bir Azure Depolama hesabı oluşturmak için az storage account create komutunu kullanın. Bu hızlı başlangıçta depolama hesabı kullanılmasa da, çoğu gerçek dünyadaki Batch iş yükleri uygulamaları dağıtmak ve giriş ve çıkış verilerini depolamak için bağlı bir depolama hesabı kullanır.
Kaynak grubunuzda bir Standard_LRS SKU depolama hesabı oluşturmak için aşağıdaki komutu çalıştırın:
export STORAGE_ACCOUNT="mybatchstorage$RANDOM_SUFFIX"
az storage account create \
--resource-group $RESOURCE_GROUP \
--name $STORAGE_ACCOUNT \
--location $REGION \
--sku Standard_LRS
Batch hesabı oluştur.
Kaynak grubunuzda bir Batch hesabı oluşturmak ve bunu depolama hesabıyla bağlamak için aşağıdaki az batch account create komutunu çalıştırın.
export BATCH_ACCOUNT="mybatchaccount$RANDOM_SUFFIX"
az batch account create \
--name $BATCH_ACCOUNT \
--storage-account $STORAGE_ACCOUNT \
--resource-group $RESOURCE_GROUP \
--location $REGION
az batch account login komutunu çalıştırarak yeni Batch hesabında oturum açın . Batch ile hesabınızın kimliğini doğruladıktan sonra, bu oturumdaki sonraki az batch komutlar bu hesap bağlamını kullanır.
az batch account login \
--name $BATCH_ACCOUNT \
--resource-group $RESOURCE_GROUP \
--shared-key-auth
İşlem düğümleri havuzu oluşturun
Batch hesabınızda linux işlem düğümleri havuzu oluşturmak için az batch pool create komutunu çalıştırın. Aşağıdaki örnek, Ubuntu 20.04 LTS işletim sistemi çalıştıran iki Standard_A1_v2 boyutlu VM'lerden oluşan bir havuz oluşturur. Bu düğüm boyutu, bu hızlı başlangıç örneği için iyi bir performans ve maliyet dengesi sunar.
export POOL_ID="myPool$RANDOM_SUFFIX"
az batch pool create \
--id $POOL_ID \
--image canonical:0001-com-ubuntu-server-focal:20_04-lts \
--node-agent-sku-id "batch.node.ubuntu 20.04" \
--target-dedicated-nodes 2 \
--vm-size Standard_A1_v2
Batch havuzu hemen oluşturur, ancak işlem düğümlerinin ayrılması ve başlatılması birkaç dakika sürer. Havuz durumunu görmek için az batch pool show komutunu kullanın. Bu komut, havuzun tüm özelliklerini gösterir. Dilerseniz belirli özellikler için sorgu gönderebilirsiniz. Aşağıdaki komut, havuz ayırma durumu için sorgular:
az batch pool show --pool-id $POOL_ID \
--query "{allocationState: allocationState}"
Sonuç -ları:
{
"allocationState": "resizing"
}
Batch düğümleri ayırıp başlatırken havuz resizing durumundadır. Havuz durumu hala resizingiken bir iş ve görevler oluşturabilirsiniz. Ayırma durumu steady olduğunda ve tüm düğümler çalışıyorsa havuz görevleri çalıştırmaya hazırdır.
İş oluşturma
Az batch job create komutunu kullanarak havuzunuzda çalışacak bir Batch görevi oluşturun. Batch işlemi, bir veya daha fazla görevin mantıksal bir grubudur. İş, görevlerle ortak ayarları içerir, örneğin çalıştırılacak havuz gibi. Aşağıdaki örnek başlangıçta hiç görevi olmayan bir iş oluşturur.
export JOB_ID="myJob$RANDOM_SUFFIX"
az batch job create \
--id $JOB_ID \
--pool-id $POOL_ID
İş görevleri oluşturma
Batch, uygulamaları ve betikleri işlem düğümlerine dağıtmak için çeşitli yollar sunar. az batch task create komutunu kullanarak işte çalıştırılacak görevler oluşturun. Her görevin bir uygulama veya betik belirten bir komut satırı vardır.
Aşağıdaki Bash betiği, myTask1 ile myTask4 arasında adlandırılmış dört özdeş, paralel görev oluşturur. Görev komut satırı, işlem düğümünde Batch ortam değişkenlerini görüntüler ve 90 saniye bekler.
for i in {1..4}
do
az batch task create \
--task-id myTask$i \
--job-id $JOB_ID \
--command-line "/bin/bash -c 'printenv | grep AZ_BATCH; sleep 90s'"
done
Batch, işlem düğümlerine görevleri dağıtır.
Görev durumunu görüntüleme
Görevleri oluşturduktan sonra Batch, bunları havuzda çalıştırılmak üzere kuyruğa alır. Bir düğüm kullanılabilir olduğunda, bir görev düğüm üzerinde çalışır.
Batch görevlerinin durumunu görüntülemek için az batch task show komutunu kullanın. Aşağıdaki örnek, myTask1 durumuyla ilgili ayrıntıları göstermektedir.
az batch task show \
--job-id $JOB_ID \
--task-id myTask1
Komut çıktısı birçok ayrıntı içerir. Örneğin, bir exitCode değeri 0 görev komutunun başarıyla tamamlandığını gösterir. , nodeId görevi çalıştıran havuz düğümünün adını gösterir.
Görev çıktısını görüntüleme
Bir görevin bir düğümde oluşturduğu dosyaları listelemek için az batch task file list komutunu kullanın. Aşağıdaki komut, oluşturulan dosyaları myTask1 listeler:
# Wait for task to complete before downloading output
echo "Waiting for task to complete..."
while true; do
STATUS=$(az batch task show --job-id $JOB_ID --task-id myTask1 --query "state" -o tsv)
if [ "$STATUS" == "running" ]; then
break
fi
sleep 10
done
az batch task file list --job-id $JOB_ID --task-id myTask1 --output table
Sonuçlar, aşağıdaki çıktıya benzer:
Sonuç -ları:
Name URL Is Directory Content Length
---------- ---------------------------------------------------------------------------------------- -------------- ----------------
stdout.txt https://mybatchaccount.eastus2.batch.azure.com/jobs/myJob/tasks/myTask1/files/stdout.txt False 695
certs https://mybatchaccount.eastus2.batch.azure.com/jobs/myJob/tasks/myTask1/files/certs True
wd https://mybatchaccount.eastus2.batch.azure.com/jobs/myJob/tasks/myTask1/files/wd True
stderr.txt https://mybatchaccount.eastus2.batch.azure.com/jobs/myJob/tasks/myTask1/files/stderr.txt False 0
az batch task file download komutu çıkış dosyalarını yerel bir dizine indirir. stdout.txt dosyasını indirmek için aşağıdaki örneği çalıştırın:
az batch task file download \
--job-id $JOB_ID \
--task-id myTask1 \
--file-path stdout.txt \
--destination ./stdout.txt
Standart çıktı dosyasının içeriğini bir metin düzenleyicisinde görüntüleyebilirsiniz. Aşağıdaki örnekte tipik bir stdout.txt dosyası gösterilmektedir. Bu görevin standart çıktısı, düğümde ayarlanan Azure Batch ortam değişkenlerini gösterir. Batch iş görevi komut satırlarınızda ve komut satırlarının çalıştırdığı uygulamalar ve betiklerde bu ortam değişkenlerine başvurabilirsiniz.
AZ_BATCH_TASK_DIR=/mnt/batch/tasks/workitems/myJob/job-1/myTask1
AZ_BATCH_NODE_STARTUP_DIR=/mnt/batch/tasks/startup
AZ_BATCH_CERTIFICATES_DIR=/mnt/batch/tasks/workitems/myJob/job-1/myTask1/certs
AZ_BATCH_ACCOUNT_URL=https://mybatchaccount.eastus2.batch.azure.com/
AZ_BATCH_TASK_WORKING_DIR=/mnt/batch/tasks/workitems/myJob/job-1/myTask1/wd
AZ_BATCH_NODE_SHARED_DIR=/mnt/batch/tasks/shared
AZ_BATCH_TASK_USER=_azbatch
AZ_BATCH_NODE_ROOT_DIR=/mnt/batch/tasks
AZ_BATCH_JOB_ID=myJob
AZ_BATCH_NODE_IS_DEDICATED=true
AZ_BATCH_NODE_ID=tvm-257509324_2-20180703t215033z
AZ_BATCH_POOL_ID=myPool
AZ_BATCH_TASK_ID=myTask1
AZ_BATCH_ACCOUNT_NAME=mybatchaccount
AZ_BATCH_TASK_USER_IDENTITY=PoolNonAdmin
Sonraki adımlar
Bu başlangıç kılavuzunda bir Batch hesabı ve havuzu oluşturdunuz, bir Batch işi ve görevleri oluşturup çalıştırdınız ve düğümlerden görev çıktısını görüntülediniz. Batch hizmetinin temel kavramlarını anladığınıza göre, Batch'i daha gerçekçi ve daha büyük ölçekli iş yükleriyle kullanmaya hazırsınız. Azure Batch hakkında daha fazla bilgi için Azure Batch öğreticilerine devam edin.