Azure PowerShell を使用した HDInsight の Linux ベースのクラスターの作成Create Linux-based clusters in HDInsight using Azure PowerShell

Azure PowerShell は、Microsoft Azure のワークロードのデプロイと管理を制御し、自動化するために使用できる強力なスクリプト作成環境です。Azure PowerShell is a powerful scripting environment that you can use to control and automate the deployment and management of your workloads in Microsoft Azure. このドキュメントでは、Azure PowerShell を使用して Linux ベースの HDInsight クラスターを作成する方法について説明します。This document provides information about how to create a Linux-based HDInsight cluster by using Azure PowerShell. また、スクリプトの例も含まれています。It also includes an example script.

Azure サブスクリプションをお持ちでない場合は、開始する前に 無料アカウント を作成してください。If you don't have an Azure subscription, create a free account before you begin.

前提条件Prerequisites

注意

この記事は、新しい Azure PowerShell Az モジュールを使用するために更新されました。This article has been updated to use the new Azure PowerShell Az module. AzureRM モジュールはまだ使用でき、少なくとも 2020 年 12 月までは引き続きバグ修正が行われます。You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Az モジュールと AzureRM の互換性の詳細については、「Introducing the new Azure PowerShell Az module (新しい Azure PowerShell Az モジュールの概要)」を参照してください。To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Az モジュールのインストール手順については、Azure PowerShell のインストールを参照してください。For Az module installation instructions, see Install Azure PowerShell.

Azure PowerShell Az モジュール。Azure PowerShell Az module.

クラスターの作成Create cluster

警告

HDInsight クラスターの料金は、そのクラスターを使用しているかどうかに関係なく、分単位で課金されます。Billing for HDInsight clusters is prorated per minute, whether you use them or not. 使用後は、クラスターを必ず削除してください。Be sure to delete your cluster after you finish using it. HDInsight クラスターを削除する方法」をご覧ください。See how to delete an HDInsight cluster.

Azure PowerShell を使用して HDInsight クラスターを作成するには、次の手順を完了する必要があります。To create an HDInsight cluster by using Azure PowerShell, you must complete the following procedures:

  • Azure リソース グループの作成Create an Azure resource group
  • Azure Storage アカウントの作成Create an Azure Storage account
  • Azure BLOB コンテナーの作成Create an Azure Blob container
  • HDInsight クラスターの作成Create an HDInsight cluster

注意

PowerShell を使用して、Azure Data Lake Storage Gen2 を使用する HDInsight クラスターを作成することは現在サポートされていません。Using PowerShell to create an HDInsight cluster with Azure Data Lake Storage Gen2 is not currently supported.

次のスクリプトでは、新しいクラスターを作成する方法を示します。The following script demonstrates how to create a new cluster:

# Login to your Azure subscription
$context = Get-AzContext
if ($context -eq $null) 
{
    Connect-AzAccount
}
$context

# If you have multiple subscriptions, set the one to use
# $subscriptionID = "<subscription ID to use>"
# Select-AzSubscription -SubscriptionId $subscriptionID

# Get user input/default values
$resourceGroupName = Read-Host -Prompt "Enter the resource group name"
$location = Read-Host -Prompt "Enter the Azure region to create resources in"

# Create the resource group
New-AzResourceGroup -Name $resourceGroupName -Location $location

$defaultStorageAccountName = Read-Host -Prompt "Enter the name of the storage account"

# Create an Az.Storage account and container
New-AzStorageAccount `
    -ResourceGroupName $resourceGroupName `
    -Name $defaultStorageAccountName `
    -Type Standard_LRS `
    -Location $location
$defaultStorageAccountKey = (Get-AzStorageAccountKey `
                                -ResourceGroupName $resourceGroupName `
                                -Name $defaultStorageAccountName)[0].Value
$defaultStorageContext = New-AzStorageContext `
                                -StorageAccountName $defaultStorageAccountName `
                                -StorageAccountKey $defaultStorageAccountKey

# Get information for the HDInsight cluster
$clusterName = Read-Host -Prompt "Enter the name of the HDInsight cluster"
# Cluster login is used to secure HTTPS services hosted on the cluster
$httpCredential = Get-Credential -Message "Enter Cluster login credentials" -UserName "admin"
# SSH user is used to remotely connect to the cluster using SSH clients
$sshCredentials = Get-Credential -Message "Enter SSH user credentials"

# Default cluster size (# of worker nodes), version, type, and OS
$clusterSizeInNodes = "4"
$clusterVersion = "3.6"
$clusterType = "Hadoop"
$clusterOS = "Linux"
# Set the storage container name to the cluster name
$defaultBlobContainerName = $clusterName

# Create a blob container. This holds the default data store for the cluster.
New-AzStorageContainer `
    -Name $clusterName -Context $defaultStorageContext 

# Create the HDInsight cluster
New-AzHDInsightCluster `
    -ResourceGroupName $resourceGroupName `
    -ClusterName $clusterName `
    -Location $location `
    -ClusterSizeInNodes $clusterSizeInNodes `
    -ClusterType $clusterType `
    -OSType $clusterOS `
    -Version $clusterVersion `
    -HttpCredential $httpCredential `
    -DefaultStorageAccountName "$defaultStorageAccountName.blob.core.windows.net" `
    -DefaultStorageAccountKey $defaultStorageAccountKey `
    -DefaultStorageContainer $clusterName `
    -SshCredential $sshCredentials

クラスターのログインに指定する値は、クラスターの Hadoop ユーザー アカウントの作成に使用されます。The values you specify for the cluster login are used to create the Hadoop user account for the cluster. Web UI や REST API など、クラスターでホストされるサービスに接続するには、このアカウントを使用します。Use this account to connect to services hosted on the cluster such as web UIs or REST APIs.

SSH ユーザーに指定する値は、クラスターの SSH ユーザーの作成に使用されます。The values you specify for the SSH user are used to create the SSH user for the cluster. このアカウントを使用してクラスターでリモート SSH セッションを開始し、ジョブを実行します。Use this account to start a remote SSH session on the cluster and run jobs. 詳細については、HDInsight での SSH の使用に関するドキュメントを参照してください。For more information, see the Use SSH with HDInsight document.

重要

(クラスターの作成時または作成後のスケーリングで) 32 個を超える worker ノードを使用することを計画している場合は、コア数が 8 個以上、RAM が 14 GB 以上のヘッド ノード サイズも指定する必要があります。If you plan to use more than 32 worker nodes (either at cluster creation or by scaling the cluster after creation), you must also specify a head node size with at least 8 cores and 14 GB of RAM.

ノードのサイズと関連コストに関する詳細については、「 HDInsight の価格」を参照してください。For more information on node sizes and associated costs, see HDInsight pricing.

クラスターを作成するには最大 20 分かかることがあります。It can take up to 20 minutes to create a cluster.

クラスターの作成:構成オブジェクトCreate cluster: Configuration object

HDInsight の構成オブジェクトは、New-AzHDInsightClusterConfig コマンドレットを使用して作成することもできます。You can also create an HDInsight configuration object using New-AzHDInsightClusterConfig cmdlet. 作成後に、クラスターの追加の構成オプションを有効にするように、この構成オブジェクトを変更できます。You can then modify this configuration object to enable additional configuration options for your cluster. 最後に、New-AzHDInsightCluster コマンドレットの -Config パラメーターを使用して構成を使用します。Finally, use the -Config parameter of the New-AzHDInsightCluster cmdlet to use the configuration.

次のスクリプトでは、HDInsight クラスター タイプで R Server を構成する構成オブジェクトを作成します。The following script creates a configuration object to configure an R Server on HDInsight cluster type. この構成は、エッジ ノード、RStudio、および追加のストレージ アカウントを有効にします。The configuration enables an edge node, RStudio, and an additional storage account.

$additionalStorageAccountName = Read-Host -Prompt "Enter the name of the additional storage account"

# Create the additional storage account
New-AzStorageAccount -ResourceGroupName $resourceGroupName `
    -StorageAccountName $additionalStorageAccountName `
    -Location $location `
    -Type Standard_LRS

# Get the additional storage account key
$additionalStorageAccountKey = (Get-AzStorageAccountKey -Name $additionalStorageAccountName -ResourceGroupName $resourceGroupName)[0].Value

# Create a new configuration for RServer cluster type
# Use -EdgeNodeSize to set the size of the edge node for RServer clusters
# if you want a specific size. Otherwise, the default size is used.
$config = New-AzHDInsightClusterConfig `
    -ClusterType "RServer" `
    -EdgeNodeSize "Standard_D12_v2"

# Add RStudio to the configuration
$rserverConfig = @{"rstudio"="true"}
$config = $config | Add-AzHDInsightConfigValues `
    -RServer $rserverConfig `
    -Spark2Defaults $spark2Config

# Add an additional storage account
Add-AzHDInsightStorage -Config $config -StorageAccountName "$additionalStorageAccountName.blob.core.windows.net" -StorageAccountKey $additionalStorageAccountKey

# Create a new HDInsight cluster using -Config
New-AzHDInsightCluster `
    -ClusterName $clusterName `
    -ResourceGroupName $resourceGroupName `
    -HttpCredential $httpCredential `
    -Location $location `
    -DefaultStorageAccountName "$defaultStorageAccountName.blob.core.windows.net" `
    -DefaultStorageAccountKey $defaultStorageAccountKey `
    -DefaultStorageContainer $defaultStorageContainerName  `
    -ClusterSizeInNodes $clusterSizeInNodes `
    -OSType $clusterOS `
    -Version $clusterVersion `
    -SshCredential $sshCredentials `
    -Config $config

警告

HDInsight クラスター以外の場所でストレージ アカウントを使用することはできません。Using a storage account in a different location than the HDInsight cluster is not supported. この例の使用時には、サーバーと同じ場所に追加のストレージ アカウントを作成します。When using this example, create the additional storage account in the same location as the server.

クラスターのカスタマイズCustomize clusters

クラスターを削除するDelete the cluster

警告

HDInsight クラスターの料金は、そのクラスターを使用しているかどうかに関係なく、分単位で課金されます。Billing for HDInsight clusters is prorated per minute, whether you use them or not. 使用後は、クラスターを必ず削除してください。Be sure to delete your cluster after you finish using it. HDInsight クラスターを削除する方法」をご覧ください。See how to delete an HDInsight cluster.

[トラブルシューティング]Troubleshoot

HDInsight クラスターの作成で問題が発生した場合は、「アクセス制御の要件」を参照してください。If you run into issues with creating HDInsight clusters, see access control requirements.

次のステップNext steps

これで HDInsight クラスターが正常に作成されたので、次のリソースを使用してクラスターの操作方法を学習してください。Now that you've successfully created an HDInsight cluster, use the following resources to learn how to work with your cluster.

Apache Hadoop クラスターApache Hadoop clusters

Apache HBase クラスターApache HBase clusters

Storm クラスターStorm clusters

Apache Spark クラスターApache Spark clusters