Azure CLI を使用した HDInsight クラスターの作成
このドキュメントの手順では、Azure CLI を使用した HDInsight 4.0 クラスターの作成を順を追って説明します。
警告
HDInsight クラスターの料金は、そのクラスターを使用しているかどうかに関係なく、分単位で課金されます。 使用後は、クラスターを必ず削除してください。 「HDInsight クラスターを削除する方法」をご覧ください。
Azure サブスクリプションをお持ちでない場合は、開始する前に Azure 無料アカウントを作成してください。
前提条件
Azure Cloud Shell で Bash 環境を使用します。 詳細については、「Azure Cloud Shell の Bash のクイックスタート」を参照してください。
CLI リファレンス コマンドをローカルで実行する場合、Azure CLI をインストールします。 Windows または macOS で実行している場合は、Docker コンテナーで Azure CLI を実行することを検討してください。 詳細については、「Docker コンテナーで Azure CLI を実行する方法」を参照してください。
ローカル インストールを使用する場合は、az login コマンドを使用して Azure CLI にサインインします。 認証プロセスを完了するには、ターミナルに表示される手順に従います。 その他のサインイン オプションについては、Azure CLI でのサインインに関するページを参照してください。
初回使用時にインストールを求められたら、Azure CLI 拡張機能をインストールします。 拡張機能の詳細については、Azure CLI で拡張機能を使用する方法に関するページを参照してください。
az version を実行し、インストールされているバージョンおよび依存ライブラリを検索します。 最新バージョンにアップグレードするには、az upgrade を実行します。
クラスターの作成
Azure サブスクリプションにログインします。 Azure Cloud Shell を使用する予定の場合は、コード ブロックの右上隅で [使ってみる] を選択します。 それ以外の場合、次のコマンドを入力します。
az login # If you have multiple subscriptions, set the one to use # az account set --subscription "SUBSCRIPTIONID"
環境変数を設定します。 この記事での変数の使用は Bash に基づきます。 その他の環境では、若干の調整が必要となります。 クラスターの作成に使用できるパラメーターの完全な一覧については、az-hdinsight-create を参照してください。
パラメーター Description --workernode-count
クラスター内のワーカー ノードの数。 この記事では、 --workernode-count
に渡される値として変数clusterSizeInNodes
を使用します。--version
HDInsight クラスターのバージョン。 この記事では、 --version
に渡される値として変数clusterVersion
を使用します。 関連項目:サポートされる HDInsight のバージョン。--type
hadoop、interactivehive、hbase、kafka、spark、 rserver
、mlservices
などの HDInsight クラスターのタイプ。 この記事では、--type
に渡される値として変数clusterType
を使用します。 関連項目:クラスターの種類と構成。--component-version
さまざまな Hadoop コンポーネントのバージョン。バージョンは 'component=version' の形式でスペースで区切られます。 この記事では、 --component-version
に渡される値として変数componentVersion
を使用します。 関連項目:Hadoop コンポーネント。RESOURCEGROUPNAME
、LOCATION
、CLUSTERNAME
、STORAGEACCOUNTNAME
、およびPASSWORD
を目的の値に置き換えます。 必要に応じて、他の変数の値を変更します。 続いて CLI コマンドを入力します。export resourceGroupName=RESOURCEGROUPNAME export location=LOCATION export clusterName=CLUSTERNAME export AZURE_STORAGE_ACCOUNT=STORAGEACCOUNTNAME export httpCredential='PASSWORD' export sshCredentials='PASSWORD' export AZURE_STORAGE_CONTAINER=$clusterName export clusterSizeInNodes=1 export clusterVersion=4.0 export clusterType=hadoop export componentVersion=Hadoop=3.1
次のコマンドを入力して、リソース グループを作成します。
az group create \ --location $location \ --name $resourceGroupName
グループの作成先として有効な場所は、
az account list-locations
コマンドで一覧表示できます。name
値に表示されるいずれかの場所を使用してください。次のコマンドを入力して、Azure ストレージ アカウントを作成します。
# Note: kind BlobStorage is not available as the default storage account. az storage account create \ --name $AZURE_STORAGE_ACCOUNT \ --resource-group $resourceGroupName \ --https-only true \ --kind StorageV2 \ --location $location \ --sku Standard_LRS
次のコマンドを入力して、Azure ストレージ アカウントからプライマリ キーを抽出し、それを変数に保存します。
export AZURE_STORAGE_KEY=$(az storage account keys list \ --account-name $AZURE_STORAGE_ACCOUNT \ --resource-group $resourceGroupName \ --query [0].value -o tsv)
次のコマンドを入力して、Azure ストレージ コンテナーを作成します。
az storage container create \ --name $AZURE_STORAGE_CONTAINER \ --account-key $AZURE_STORAGE_KEY \ --account-name $AZURE_STORAGE_ACCOUNT
次のコマンドを入力して、HDInsight クラスターを作成します。
az hdinsight create \ --name $clusterName \ --resource-group $resourceGroupName \ --type $clusterType \ --component-version $componentVersion \ --http-password $httpCredential \ --http-user admin \ --location $location \ --workernode-count $clusterSizeInNodes \ --ssh-password $sshCredentials \ --ssh-user sshuser \ --storage-account $AZURE_STORAGE_ACCOUNT \ --storage-account-key $AZURE_STORAGE_KEY \ --storage-container $AZURE_STORAGE_CONTAINER \ --version $clusterVersion
重要
HDInsight クラスターにはさまざまな種類があり、それぞれに適したワークロードやテクノロジに対応しています。 1 つのクラスター上の HBase など、複数の型を組み合わせたクラスターを作成する方法はサポートされていません。
クラスターの作成処理は、完了までに数分かかる場合があります。 通常は約 15 です。
リソースをクリーンアップする
記事を完了したら、必要に応じてクラスターを削除できます。 HDInsight を使用すると、データは Azure Storage に格納されるため、クラスターは、使用されていない場合に安全に削除できます。 また、HDInsight クラスターは、使用していない場合でも課金されます。 クラスターの料金は Storage の料金の何倍にもなるため、クラスターを使用しない場合は削除するのが経済的にも合理的です。
次のコマンドのすべてまたは一部を入力して、リソースを削除します。
# Remove cluster
az hdinsight delete \
--name $clusterName \
--resource-group $resourceGroupName
# Remove storage container
az storage container delete \
--account-name $AZURE_STORAGE_ACCOUNT \
--name $AZURE_STORAGE_CONTAINER
# Remove storage account
az storage account delete \
--name $AZURE_STORAGE_ACCOUNT \
--resource-group $resourceGroupName
# Remove resource group
az group delete \
--name $resourceGroupName
トラブルシューティング
HDInsight クラスターの作成で問題が発生した場合は、「アクセス制御の要件」を参照してください。
次のステップ
Azure CLI を使用して HDInsight クラスターを作成したら、クラスターの使用方法について、以下のトピックを参照してください。