Skapa HDInsight-kluster med Hjälp av Azure CLI

Stegen i det här dokumentet går igenom hur du skapar ett HDInsight 4.0-kluster med hjälp av Azure CLI.

Varning

Faktureringen för HDInsight-kluster beräknas proportionellt per minut, oavsett om du använder dem eller inte. Se till att ta bort klustret när du har använt det. Se hur du tar bort ett HDInsight-kluster.

Om du inte har en Azure-prenumeration skapar du ett kostnadsfritt Azure-konto innan du börjar.

Förutsättningar

Skapa ett kluster

  1. Logga in på din Azure-prenumeration. Om du planerar att använda Azure Cloud Shell väljer du Prova i det övre högra hörnet i kodblocket. Annars anger du följande kommando:

    az login
    
    # If you have multiple subscriptions, set the one to use
    # az account set --subscription "SUBSCRIPTIONID"
    
  2. Ange miljövariabler. Användningen av variabler i den här artikeln baseras på Bash. Det krävs små variationer för andra miljöer. Se az-hdinsight-create för en fullständig lista över möjliga parametrar för att skapa kluster.

    Parameter Description
    --workernode-count Antalet arbetsnoder i klustret. Den här artikeln använder variabeln clusterSizeInNodes som det värde som skickas till --workernode-count.
    --version HDInsight-klusterversionen. Den här artikeln använder variabeln clusterVersion som det värde som skickas till --version. Se även HDInsight-versioner som stöds.
    --type Typ av HDInsight-kluster, till exempel: hadoop, interaktiv hive, hbase, kafka, spark, rserver, mlservices. Den här artikeln använder variabeln clusterType som det värde som skickas till --type. Se även: Klustertyper och konfiguration.
    --component-version Versioner av olika Hadoop-komponenter i utrymmesavgränsade versioner i formatet "component=version". Den här artikeln använder variabeln componentVersion som det värde som skickas till --component-version. Se även: Hadoop-komponenter.

    Ersätt RESOURCEGROUPNAME, LOCATION, CLUSTERNAME, STORAGEACCOUNTNAMEoch PASSWORD med önskade värden. Ändra värden för de andra variablerna efter behov. Ange sedan CLI-kommandona.

    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
    
  3. Skapa resursgruppen genom att ange följande kommando:

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

    Om du vill ha en lista över giltiga platser använder du az account list-locations kommandot och använder sedan någon av platserna från name värdet.

  4. Skapa ett Azure Storage-konto genom att ange följande kommando:

    # 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. Extrahera primärnyckeln från Azure Storage-kontot och lagra den i en variabel genom att ange följande kommando:

    export AZURE_STORAGE_KEY=$(az storage account keys list \
        --account-name $AZURE_STORAGE_ACCOUNT \
        --resource-group $resourceGroupName \
        --query [0].value -o tsv)
    
  6. Skapa en Azure Storage-container genom att ange följande kommando:

    az storage container create \
        --name $AZURE_STORAGE_CONTAINER \
        --account-key $AZURE_STORAGE_KEY \
        --account-name $AZURE_STORAGE_ACCOUNT
    
  7. Skapa HDInsight-klustret genom att ange följande kommando:

    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
    

    Viktigt!

    HDInsight-kluster finns i olika typer, vilket motsvarar den arbetsbelastning eller teknik som klustret är justerat för. Det finns ingen metod som stöds för att skapa ett kluster som kombinerar flera typer, till exempel HBase i ett kluster.

    Det kan ta flera minuter innan klustret skapas. Vanligtvis runt 15.

Rensa resurser

När du är klar med artikeln kanske du vill ta bort klustret. Med HDInsight lagras dina data i Azure Storage, så att du på ett säkert sätt kan ta bort ett kluster när de inte används. Du debiteras också för ett HDInsight-kluster, även om det inte används. Eftersom avgifterna för klustret är många gånger högre än avgifterna för lagring är det ekonomiskt klokt att ta bort kluster när de inte används.

Ange alla eller några av följande kommandon för att ta bort resurser:

# 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

Felsöka

Om du får problem med att skapa HDInsight-kluster läser du åtkomstkontrollkrav.

Nästa steg

Nu när du har skapat ett HDInsight-kluster med hjälp av Azure CLI använder du följande för att lära dig hur du arbetar med klustret:

Apache Hadoop-kluster

Apache HBase-kluster