Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Panduan mulai cepat ini menunjukkan kepada Anda cara memulai Azure Batch dengan menggunakan perintah dan skrip Azure CLI untuk membuat dan mengelola sumber daya Batch. Anda membuat akun Batch yang memiliki kumpulan komputer virtual, atau simpul komputasi. Anda kemudian membuat dan menjalankan pekerjaan dengan tugas yang dijalankan pada node kumpulan.
Setelah Anda menyelesaikan panduan memulai cepat ini, Anda akan memahami konsep-konsep utama dari layanan Batch dan siap menggunakan Batch dengan beban kerja yang lebih realistis dan berskala besar.
Prasyarat
-
Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.
Azure Cloud Shell atau CLI Azure.
Anda dapat menjalankan perintah Azure CLI di panduan cepat ini secara interaktif di Azure Cloud Shell. Untuk menjalankan perintah di Cloud Shell, pilih Buka Cloudshell di sudut kanan atas blok kode. Pilih Salin untuk menyalin kode, dan tempelkan ke Cloud Shell untuk menjalankannya. Anda juga dapat menjalankan Cloud Shell dari dalam portal Azure. Cloud Shell selalu menggunakan versi terbaru Azure CLI.
Atau, Anda dapat menginstal Azure CLI secara lokal untuk menjalankan perintah. Langkah-langkah dalam artikel ini memerlukan Azure CLI versi 2.0.20 atau yang lebih baru. Jalankan az version untuk melihat versi dan pustaka dependen yang diinstal, dan jalankan az upgrade untuk pemutakhiran. Jika Anda menggunakan penginstalan lokal, masuk ke Azure dengan menggunakan perintah yang sesuai.
Catatan
Untuk beberapa wilayah dan jenis langganan, pembatasan kuota dapat menyebabkan pembuatan akun atau simpul Batch gagal atau tidak selesai. Dalam situasi ini, Anda dapat meminta penambahan kuota tanpa biaya. Untuk informasi selengkapnya, lihat Kuota dan batasan layanan Batch.
Buat grup sumber daya
Jalankan perintah buat grup az berikut untuk membuat grup sumber daya Azure. Grup sumber daya adalah kontainer logis yang menyimpan sumber daya Azure untuk panduan cepat ini.
export RANDOM_SUFFIX=$(openssl rand -hex 3)
export REGION="canadacentral"
export RESOURCE_GROUP="qsBatch$RANDOM_SUFFIX"
az group create \
--name $RESOURCE_GROUP \
--location $REGION
Hasil:
{
"id": "/subscriptions/xxxxx/resourceGroups/qsBatchxxx",
"location": "eastus2",
"managedBy": null,
"name": "qsBatchxxx",
"properties": {
"provisioningState": "Succeeded"
},
"tags": null,
"type": "Microsoft.Resources/resourceGroups"
}
Buat akun penyimpanan
Gunakan perintah az storage account create untuk membuat akun Azure Storage untuk menautkan ke akun Batch Anda. Meskipun panduan mulai cepat ini tidak menggunakan akun penyimpanan, sebagian besar beban kerja Batch dunia nyata menggunakan akun penyimpanan tertaut untuk menjalankan aplikasi dan menyimpan data input dan output.
Jalankan perintah berikut untuk membuat akun penyimpanan SKU Standard_LRS di grup sumber daya Anda:
export STORAGE_ACCOUNT="mybatchstorage$RANDOM_SUFFIX"
az storage account create \
--resource-group $RESOURCE_GROUP \
--name $STORAGE_ACCOUNT \
--location $REGION \
--sku Standard_LRS
Membuat akun Batch
Jalankan perintah az batch account create berikut untuk membuat akun Batch di grup sumber daya Anda dan menautkannya dengan akun penyimpanan.
export BATCH_ACCOUNT="mybatchaccount$RANDOM_SUFFIX"
az batch account create \
--name $BATCH_ACCOUNT \
--storage-account $STORAGE_ACCOUNT \
--resource-group $RESOURCE_GROUP \
--location $REGION
Masuk ke akun Batch baru dengan menjalankan perintah az batch account login . Setelah Anda mengautentikasi akun Anda dengan Batch, perintah berikutnya az batch dalam sesi ini menggunakan konteks akun ini.
az batch account login \
--name $BATCH_ACCOUNT \
--resource-group $RESOURCE_GROUP \
--shared-key-auth
Membuat kumpulan simpul komputasi
Jalankan perintah az batch pool create untuk membuat kumpulan simpul komputasi Linux di akun Batch Anda. Contoh berikut membuat kumpulan yang terdiri dari dua VM ukuran Standard_A1_v2 yang menjalankan OS Ubuntu 20.04 LTS. Ukuran simpul ini menawarkan keseimbangan performa yang baik dibandingkan dengan biaya untuk panduan memulai cepat ini.
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 langsung membuat kolam, tetapi memakan waktu beberapa menit untuk mengalokasikan dan memulai node komputasi. Untuk melihat status kumpulan, gunakan perintah az batch pool show . Perintah ini memperlihatkan semua properti kumpulan, dan Anda bisa mencari properti tertentu. Perintah berikut mengajukan pertanyaan tentang status alokasi pool:
az batch pool show --pool-id $POOL_ID \
--query "{allocationState: allocationState}"
Hasil:
{
"allocationState": "resizing"
}
Saat Batch mengalokasikan dan memulai node, pool berada dalam status resizing. Anda dapat membuat pekerjaan dan tugas saat status kumpulan masih resizing. Kolam siap menjalankan tugas ketika status alokasi adalah steady dan semua simpul sedang berjalan.
Membuat pekerjaan
Gunakan perintah az batch job create untuk membuat job Batch untuk dijalankan di kumpulan Anda. Pekerjaan Batch adalah kelompok logis dari satu atau beberapa tugas. Tugas kerja ini mencakup pengaturan umum untuk proses, seperti pool yang akan dijalankan. Contoh berikut membuat sebuah pekerjaan yang awalnya tidak memiliki tugas.
export JOB_ID="myJob$RANDOM_SUFFIX"
az batch job create \
--id $JOB_ID \
--pool-id $POOL_ID
Membuat tugas pekerjaan
Batch menyediakan sejumlah cara untuk menyebarkan aplikasi dan skrip ke node komputasi. Gunakan perintah az batch task create untuk membuat tugas yang akan dijalankan dalam pekerjaan. Setiap tugas memiliki baris perintah yang menentukan aplikasi atau skrip.
Skrip Bash berikut membuat empat tugas paralel yang identik dan dipanggil myTask1 melalui myTask4. Baris perintah tugas menampilkan variabel lingkungan Batch pada simpul komputasi, lalu menunggu 90 detik.
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 mendistribusikan tugas ke simpul komputasi.
Tampilkan status tugas
Setelah Anda membuat tugas, Batch mengantrekannya untuk dijalankan di kolam. Setelah simpul tersedia, tugas dijalankan di simpul.
Gunakan perintah az batch task show untuk melihat status tugas Batch. Contoh berikut menunjukkan detail tentang status myTask1:
az batch task show \
--job-id $JOB_ID \
--task-id myTask1
Output perintah mencakup banyak detail. Misalnya, salah satu exitCode dari 0 menunjukkan bahwa perintah tugas berhasil diselesaikan.
nodeId menunjukkan nama simpul kumpulan yang menjalankan tugas.
Melihat output tugas
Gunakan perintah az batch task file list untuk mencantumkan file yang dibuat tugas pada node. Perintah berikut mencantumkan file yang myTask1 dibuat:
# 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
Hasilnya mirip dengan output berikut:
Hasil:
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
Perintah az batch task file download mengunduh file output ke dalam lokal direktori. Jalankan contoh berikut untuk mengunduh file stdout.txt :
az batch task file download \
--job-id $JOB_ID \
--task-id myTask1 \
--file-path stdout.txt \
--destination ./stdout.txt
Anda dapat melihat konten file output standar di editor teks. Contoh berikut menunjukkan file stdout.txt umum. Output standar dari tugas ini menunjukkan variabel lingkungan Azure Batch yang telah disetel di node. Anda dapat merujuk ke variabel lingkungan ini di perintah tugas Batch Anda, dan di aplikasi serta skrip yang dijalankan oleh perintah tersebut.
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
Langkah berikutnya
Dalam panduan cepat ini, Anda membuat akun dan kumpulan Batch, membuat dan menjalankan pekerjaan dan tugas Batch, dan melihat output tugas dari node. Sekarang setelah Anda memahami konsep utama layanan Batch, Anda siap untuk menggunakan Batch dengan beban kerja skala yang lebih realistis dan lebih besar. Untuk mempelajari selengkapnya tentang Azure Batch, lanjutkan ke tutorial Azure Batch.