Azure HDInsight: Azure CLI サンプル
この記事では、一般的なタスクのためのサンプル スクリプトを示します。 各例では、変数を適切な値で更新してから、コマンドを実行してください。
前提条件
Azure CLI。 手順については、「Azure CLI のインストール」を参照してください。
省略可能: Bash。 この記事の例では、Windows 10 上で Bash シェルを使用しています。 インストール手順については、「Windows Subsystem for Linux Installation Guide for Windows 10 (Windows 10 用 Windows Subsystem for Linux インストール ガイド)」をご覧ください。 各例は、少し変更を加えることで、Windows コマンド プロンプトでも使用できます。
az login
Azure にサインインします。
az login
# If you have multiple subscriptions, set the one to use
# az account set --subscription "SUBSCRIPTIONID"
az hdinsight create
新しいクラスターを作成します。
既存のストレージ アカウントを使用してクラスターを作成する
# set variables
export clusterName=CLUSTERNAME
export resourceGroupName=RESOURCEGROUPNAME
export clusterType=hadoop
export httpCredential='PASSWORD'
export AZURE_STORAGE_ACCOUNT=STORAGEACCOUNTNAME
az hdinsight create \
--name $clusterName \
--resource-group $resourceGroupName \
--type $clusterType \
--http-password $httpCredential \
--storage-account $AZURE_STORAGE_ACCOUNT
Enterprise セキュリティ パッケージ (ESP) を使用してクラスターを作成する
export clusterName=CLUSTERNAME
export resourceGroupName=RESOURCEGROUPNAME
export clusterType=spark
export httpCredential='PASSWORD'
export AZURE_STORAGE_ACCOUNT=STORAGEACCOUNTNAME
export subnet="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyRG/providers/Microsoft.Network/virtualNetworks/MyVnet/subnets/subnet1"
export domain="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourceGroups/MyRG/providers/Microsoft.AAD/domainServices/MyDomain.onmicrosoft.com"
export userAssignedIdentity="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/MyMsiRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyMSI"
export domainAccount=MyAdminAccount@MyDomain.onmicrosoft.com
export groupDNS=MyGroup
az hdinsight create \
--esp \
--name $clusterName \
--resource-group $resourceGroupName \
--type $clusterType \
--http-password $httpCredential \
--storage-account $AZURE_STORAGE_ACCOUNT \
--subnet $subnet \
--domain $domain \
--assign-identity $userAssignedIdentity \
--cluster-admin-account $domainAccount \
--cluster-users-group-dns $groupDNS
ディスク暗号化を使用して Kafka クラスターを作成する
export clusterName=CLUSTERNAME
export resourceGroupName=RESOURCEGROUPNAME
export clusterType=kafka
export httpCredential='PASSWORD'
export AZURE_STORAGE_ACCOUNT=STORAGEACCOUNTNAME
export encryptionKeyName=kafkaClusterKey
export encryptionKeyVersion=00000000000000000000000000000000
export encryptionVaultUri=https://MyKeyVault.vault.azure.net
export userAssignedIdentity="/subscriptions/aaaa0a0a-bb1b-cc2c-dd3d-eeeeee4e4e4e/resourcegroups/MyMsiRG/providers/Microsoft.ManagedIdentity/userAssignedIdentities/MyMSI"
az hdinsight create \
--name $clusterName \
--resource-group $resourceGroupName \
--type $clusterType \
--http-password $httpCredential \
--storage-account $AZURE_STORAGE_ACCOUNT \
--workernode-data-disks-per-node 2 \
--encryption-key-name $encryptionKeyName \
--encryption-key-version $encryptionKeyVersion \
--encryption-vault-uri $encryptionVaultUri \
--assign-identity $userAssignedIdentity
Azure Data Lake Storage Gen2 を使用してクラスターを作成する
export clusterName=CLUSTERNAME
export resourceGroupName=RESOURCEGROUPNAME
export clusterType=spark
export httpCredential='PASSWORD'
export adlgen2=MyStorageAccount
export sami=MyMSI
az hdinsight create \
--name $clusterName \
--resource-group $resourceGroupName \
--type $clusterType \
--http-password $httpCredential \
--storage-account $adlgen2 \
--storage-account-managed-identity $sami
JSON 文字列による構成を使用してクラスターを作成する
export clusterName=CLUSTERNAME
export resourceGroupName=RESOURCEGROUPNAME
export clusterType=spark
export httpCredential='PASSWORD'
export AZURE_STORAGE_ACCOUNT=STORAGEACCOUNTNAME
export clusterConfiguration="{'gateway':{'restAuthCredential.username':'admin'}}"
az hdinsight create \
--name $clusterName \
--resource-group $resourceGroupName \
--type $clusterType \
--http-password $httpCredential \
--storage-account $AZURE_STORAGE_ACCOUNT \
--cluster-configuration $clusterConfiguration
ローカル ファイルによる構成を使用してクラスターを作成する
export clusterName=CLUSTERNAME
export resourceGroupName=RESOURCEGROUPNAME
export clusterType=spark
export httpCredential='PASSWORD'
export AZURE_STORAGE_ACCOUNT=STORAGEACCOUNTNAME
export clusterConfiguration=@/mnt/c/HDI/config.json
az hdinsight create \
--name $clusterName \
--resource-group $resourceGroupName \
--type $clusterType \
--http-password $httpCredential \
--storage-account $AZURE_STORAGE_ACCOUNT \
--cluster-configuration $clusterConfiguration
az hdinsight application create
HDInsight クラスター向けのアプリケーションを作成します。
スクリプト URI を使用してアプリケーションを作成する
export resourceGroupName=RESOURCEGROUPNAME
export applicationName=MyApplication
export clusterName=CLUSTERNAME
export scriptURI=https://hdiconfigactions.blob.core.windows.net/linuxhueconfigactionv02/install-hue-uber-v02.sh
export scriptActionName=MyScriptAction
export scriptParameters='"-version latest -port 20000"'
az hdinsight application create \
--resource-group $resourceGroupName \
--name $applicationName \
--cluster-name $clusterName \
--script-uri $scriptURI \
--script-action-name $scriptActionName \
--script-parameters "$scriptParameters"
スクリプト URI と指定されたエッジ ノード サイズを使用してアプリケーションを作成する
export resourceGroupName=RESOURCEGROUPNAME
export applicationName=MyApplication
export clusterName=CLUSTERNAME
export scriptURI=https://hdiconfigactions.blob.core.windows.net/linuxhueconfigactionv02/install-hue-uber-v02.sh
export scriptActionName=MyScriptAction
export scriptParameters='"-version latest -port 20000"'
export edgenodeSize=Standard_D4_v2
az hdinsight application create \
--resource-group $resourceGroupName \
--name $applicationName \
--cluster-name $clusterName \
--script-uri $scriptURI \
--script-action-name $scriptActionName \
--script-parameters "$scriptParameters" \
--edgenode-size $edgenodeSize
HTTPS エンドポイントを使用してアプリケーションを作成する
export resourceGroupName=RESOURCEGROUPNAME
export applicationName=MyApplication
export clusterName=CLUSTERNAME
export scriptURI=https://hdiconfigactions.blob.core.windows.net/linuxhueconfigactionv02/install-hue-uber-v02.sh
export scriptActionName=MyScriptAction
export scriptParameters='"-version latest -port 20000"'
export destinationPort=8888
export subDomainSuffix=was
az hdinsight application create \
--resource-group $resourceGroupName \
--name $applicationName \
--cluster-name $clusterName \
--script-uri $scriptURI \
--script-action-name $scriptActionName \
--script-parameters "$scriptParameters" \
--destination-port $destinationPort \
--sub-domain-suffix $subDomainSuffix
az hdinsight script-action execute
指定した HDInsight クラスター上でスクリプト アクションを実行します。
スクリプト アクションを実行して成功時に保持する
export resourceGroupName=RESOURCEGROUPNAME
export clusterName=CLUSTERNAME
export scriptActionName=MyScriptAction
export scriptURI=https://hdiconfigactions.blob.core.windows.net/linuxgiraphconfigactionv01/giraph-installer-v01.sh
export roles="headnode workernode"
az hdinsight script-action execute \
--resource-group $resourceGroupName \
--cluster-name $clusterName \
--name $scriptActionName \
--script-uri $scriptURI \
--roles $roles \
--persist-on-success