Erstellen von HDInsight-Clustern mit der Azure-BefehlszeilenschnittstelleCreate HDInsight clusters using the Azure CLI

Anhand der Schritte in diesem Dokument werden Sie durch die Erstellung eines HDInsight 3.6-Clusters mithilfe der Azure CLI geführt.The steps in this document walk-through creating a HDInsight 3.6 cluster using the Azure CLI.

Warnung

Die Abrechnung für die HDInsight-Cluster erfolgt anteilsmäßig auf Minutenbasis und ist unabhängig von der Verwendung.Billing for HDInsight clusters is prorated per minute, whether you use them or not. Daher sollten Sie Ihren Cluster nach der Verwendung unbedingt wieder löschen.Be sure to delete your cluster after you finish using it. Sehen Sie sich die Informationen zum Löschen eines HDInsight-Clusters an.See how to delete an HDInsight cluster.

Wenn Sie kein Azure-Abonnement besitzen, können Sie ein kostenloses Konto erstellen, bevor Sie beginnen.If you don't have an Azure subscription, create a free account before you begin.

VoraussetzungenPrerequisites

Azure-Befehlszeilenschnittstelle.Azure CLI. Die Schritte zum Installieren der Azure-Befehlszeilenschnittstelle finden Sie bei Bedarf unter Installieren der Azure-Befehlszeilenschnittstelle.If you haven't installed the Azure CLI, see Install the Azure CLI for steps.

Verwenden von Azure Cloud ShellUse Azure Cloud Shell

Azure hostet Azure Cloud Shell, eine interaktive Shell-Umgebung, die Sie über Ihren Browser nutzen können.Azure hosts Azure Cloud Shell, an interactive shell environment that you can use through your browser. Sie können entweder Bash oder PowerShell mit Cloud Shell verwenden, um mit Azure-Diensten zu arbeiten.You can use either Bash or PowerShell with Cloud Shell to work with Azure services. Sie können die vorinstallierten Befehle von Cloud Shell verwenden, um den Code in diesem Artikel auszuführen, ohne etwas in Ihrer lokalen Umgebung installieren zu müssen.You can use the Cloud Shell preinstalled commands to run the code in this article without having to install anything on your local environment.

Starten von Azure Cloud Shell:To start Azure Cloud Shell:

OptionOption Beispiel/LinkExample/Link
Klicken Sie in der rechten oberen Ecke eines Codeblocks auf Ausprobieren.Select Try It in the upper-right corner of a code block. Durch die Auswahl von Ausprobieren wird der Code nicht automatisch in Cloud Shell kopiert.Selecting Try It doesn't automatically copy the code to Cloud Shell. Beispiel für „Testen Sie es.“ für Azure Cloud Shell
Rufen Sie https://shell.azure.com auf, oder wählen Sie die Schaltfläche Cloud Shell starten, um Cloud Shell im Browser zu öffnen.Go to https://shell.azure.com, or select the Launch Cloud Shell button to open Cloud Shell in your browser. Starten von Cloud Shell in einem neuen FensterLaunch Cloud Shell in a new window
Wählen Sie im Azure-Portal oben rechts in der Menüleiste die Schaltfläche Cloud Shell.Select the Cloud Shell button on the top-right menu bar in the Azure portal. Cloud Shell-Schaltfläche im Azure-Portal

Ausführen des Codes in diesem Artikel in Azure Cloud Shell:To run the code in this article in Azure Cloud Shell:

  1. Starten Sie Cloud Shell.Start Cloud Shell.

  2. Wählen Sie die Schaltfläche Kopieren für einen Codeblock, um den Code zu kopieren.Select the Copy button on a code block to copy the code.

  3. Fügen Sie den Code mit STRG+UMSCHALT+V unter Windows und Linux oder Cmd+UMSCHALT+V unter macOS in die Cloud Shell-Sitzung ein.Paste the code into the Cloud Shell session by selecting Ctrl+Shift+V on Windows and Linux or by selecting Cmd+Shift+V on macOS.

  4. Drücken Sie die EINGABETASTE, um den Code auszuführen.Select Enter to run the code.

Erstellen eines ClustersCreate a cluster

  1. Melden Sie sich bei Ihrem Azure-Abonnement an.Log in to your Azure subscription. Wenn Sie Azure Cloud Shell verwenden möchten, wählen Sie in der rechten oberen Ecke des Codeblocks die Option Ausprobieren aus.If you plan to use Azure Cloud Shell, then select Try it in the upper-right corner of the code block. Geben Sie andernfalls den nachstehenden Befehl ein:Else, enter the command below:

    az login
    
    # If you have multiple subscriptions, set the one to use
    # az account set --subscription "SUBSCRIPTIONID"
    
  2. Legen Sie Umgebungsvariablen fest.Set environment variables. Die Verwendung von Variablen in diesem Artikel basiert auf Bash.The use of variables in this article is based on Bash. Für andere Umgebungen sind geringfügige Variationen erforderlich.Slight variations will be needed for other environments. Eine vollständige Liste der möglichen Parameter für die Erstellung von Clustern finden Sie unter az-hdinsight-create.See az-hdinsight-create for a complete list of possible parameters for cluster creation.

    ParameterParameter BESCHREIBUNGDescription
    --size Die Anzahl an Workerknoten im Cluster.The number of worker nodes in the cluster. In diesem Artikel wird die Variable clusterSizeInNodes als Wert verwendet, der an --size übergeben wird.This article uses the variable clusterSizeInNodes as the value passed to --size.
    --version Die HDInsight-Clusterversion.The HDInsight cluster version. In diesem Artikel wird die Variable clusterVersion als Wert verwendet, der an --version übergeben wird.This article uses the variable clusterVersion as the value passed to --version. Weitere Informationen: Unterstützte HDInsight-Versionen.See also: Supported HDInsight versions.
    --type Die Art von HDInsight-Cluster, z. B. hadoop, interactivehive, hbase, kafka, storm, spark, rserver, mlservices.Type of HDInsight cluster, like: hadoop, interactivehive, hbase, kafka, storm, spark, rserver, mlservices. In diesem Artikel wird die Variable clusterType als Wert verwendet, der an --type übergeben wird.This article uses the variable clusterType as the value passed to --type. Weitere Informationen: Clustertypen und Konfiguration.See also: Cluster types and configuration.
    --component-version Die Versionen verschiedener Hadoop-Komponenten durch Leerzeichen getrennt im Format „Komponente=Version“.The versions of various Hadoop components, in space-separated versions in 'component=version' format. In diesem Artikel wird die Variable componentVersion als Wert verwendet, der an --component-version übergeben wird.This article uses the variable componentVersion as the value passed to --component-version. Weitere Informationen: Verfügbare Apache Hadoop-Komponenten in verschiedenen Versionen von HDInsight.See also: Hadoop components.

    Ersetzen Sie RESOURCEGROUPNAME, LOCATION, CLUSTERNAME, STORAGEACCOUNTNAME und PASSWORD durch die gewünschten Werte.Replace RESOURCEGROUPNAME, LOCATION, CLUSTERNAME, STORAGEACCOUNTNAME, and PASSWORD with the desired values. Ändern Sie die Werte der anderen Variablen nach Bedarf.Change values for the other variables as desired. Geben Sie dann die CLI-Befehle ein.Then enter the CLI commands.

    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=3.6
    export clusterType=hadoop
    export componentVersion=Hadoop=2.7
    
  3. Erstellen Sie die Ressourcengruppe mithilfe des folgenden Befehls:Create the resource group by entering the command below:

    az group create \
        --location $location \
        --name $resourceGroupName
    

    Eine Liste der gültigen Orte können Sie mithilfe des Befehls az account list-locations erzeugen. Verwenden Sie anschließend einen der Orte aus dem Wert name.For a list of valid locations, use the az account list-locations command, and then use one of the locations from the name value.

  4. Erstellen Sie ein Azure Storage-Konto mithilfe des folgenden Befehls:Create an Azure Storage account by entering the command below:

    # 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
    
  5. Extrahieren Sie den Primärschlüssel aus dem Azure Storage-Konto, und speichern Sie ihn in einer Variablen, indem Sie den folgenden Befehl eingeben:Extract the primary key from the Azure Storage account and store it in a variable by entering the command below:

    export AZURE_STORAGE_KEY=$(az storage account keys list \
        --account-name $AZURE_STORAGE_ACCOUNT \
        --resource-group $resourceGroupName \
        --query [0].value -o tsv)
    
  6. Erstellen Sie einen Azure Storage-Container mithilfe des folgenden Befehls:Create an Azure Storage container by entering the command below:

    az storage container create \
        --name $AZURE_STORAGE_CONTAINER \
        --account-key $AZURE_STORAGE_KEY \
        --account-name $AZURE_STORAGE_ACCOUNT
    
  7. Erstellen Sie den HDInsight-Cluster mithilfe des folgenden Befehls:Create the HDInsight cluster by entering the following command:

    az hdinsight create \
        --name $clusterName \
        --resource-group $resourceGroupName \
        --type $clusterType \
        --component-version $componentVersion \
        --http-password $httpCredential \
        --http-user admin \
        --location $location \
        --size $clusterSizeInNodes \
        --ssh-password $sshCredentials \
        --ssh-user sshuser \
        --storage-account $AZURE_STORAGE_ACCOUNT \
        --storage-account-key $AZURE_STORAGE_KEY \
        --storage-default-container $AZURE_STORAGE_CONTAINER \
        --version $clusterVersion
    

    Wichtig

    HDInsight-Cluster gibt es in verschiedenen Typen, die der Workload oder Technologie entsprechen, für die der Cluster optimiert ist.HDInsight clusters come in various types, which correspond to the workload or technology that the cluster is tuned for. Es ist keine unterstützte Methode zum Erstellen eines Clusters vorhanden, bei der mehrere Typen kombiniert werden, z.B. Storm und HBase in einem Cluster.There is no supported method to create a cluster that combines multiple types, such as Storm and HBase on one cluster.

    Es kann möglicherweise einige Minuten dauern, bis die Clustererstellung abgeschlossen ist.It may take several minutes for the cluster creation process to complete. In der Regel dauert es etwa 15 Minuten.Usually around 15.

Bereinigen von RessourcenClean up resources

Nach Abschluss des Artikels kann es ratsam sein, den Cluster zu löschen.After you complete the article, you may want to delete the cluster. Mit HDInsight werden Ihre Daten in Azure Storage gespeichert, sodass Sie einen Cluster problemlos löschen können, wenn er nicht verwendet wird.With HDInsight, your data is stored in Azure Storage, so you can safely delete a cluster when it isn't in use. Für einen HDInsight-Cluster fallen auch dann Gebühren an, wenn er nicht verwendet wird.You're also charged for an HDInsight cluster, even when it's not in use. Da die Gebühren für den Cluster erheblich höher sind als die Kosten für den Speicher, ist es sinnvoll, nicht verwendete Cluster zu löschen.Since the charges for the cluster are many times more than the charges for storage, it makes economic sense to delete clusters when they aren't in use.

Geben Sie die folgenden Befehle oder einige von ihnen ein, um Ressourcen zu entfernen:Enter all or some of the following commands to remove resources:

# 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

ProblembehandlungTroubleshoot

Falls beim Erstellen von HDInsight-Clustern Probleme auftreten, sehen Sie sich die Voraussetzungen für die Zugriffssteuerung an.If you run into issues with creating HDInsight clusters, see access control requirements.

Nächste SchritteNext steps

Nachdem Sie einen HDInsight-Cluster erfolgreich mithilfe der Azure-Befehlszeilenschnittstelle erstellt haben, nutzen Sie die folgenden Informationen, um mehr über die Arbeit mit Ihrem Cluster zu lernen:Now that you've successfully created an HDInsight cluster using the Azure CLI, use the following to learn how to work with your cluster:

Apache Hadoop-ClusterApache Hadoop clusters

Apache HBase ClusterApache HBase clusters

Apache Storm-ClusterApache Storm clusters