Udostępnij za pomocą


Szybki start: tworzenie klastra Apache Spark w usłudze Azure HDInsight przy użyciu interfejsu wiersza polecenia platformy Azure

Z tego przewodnika Szybki start dowiesz się, jak utworzyć klaster Apache Spark w usłudze Azure HDInsight przy użyciu interfejsu wiersza polecenia platformy Azure. Azure HDInsight to zarządzana usługa analizy typu open source o pełnym spektrum dla przedsiębiorstw. Platforma Apache Spark dla usługi HDInsight umożliwia szybką analizę danych i przetwarzanie klastrów przy użyciu przetwarzania w pamięci. Azure CLI firmy Microsoft to wieloplatformowe narzędzie do używania wiersza polecenia do zarządzania zasobami Azure.

Jeśli używasz wielu klastrów jednocześnie, możesz utworzyć wirtualną sieć, a jeśli używasz klastra Spark, możesz skorzystać z Hive Warehouse Connector. Aby uzyskać więcej informacji, zobacz Planowanie sieci wirtualnej dla usługi Azure HDInsight i Integracja platformy Apache Spark oraz Apache Hive za pomocą łącznika magazynu Hive.

Jeśli nie masz jeszcze konta platformy Azure, przed rozpoczęciem utwórz bezpłatne konto.

Wymagania wstępne

Tworzenie klastra platformy Apache Spark

  1. Zaloguj się do subskrypcji platformy Azure. Jeśli planujesz używać usługi Azure Cloud Shell, wybierz pozycję Wypróbuj w prawym górnym rogu poniższego bloku kodu. W przeciwnym razie wprowadź następujące polecenie:

    az login
    
    # If you have multiple subscriptions, set the one to use
    # az account set --subscription "SUBSCRIPTIONID"
    
  2. Ustaw zmienne środowiskowe. Użycie zmiennych w tym przewodniku szybkiego startu jest oparte o Bash. W innych środowiskach potrzebne są niewielkie różnice. Zastąp RESOURCEGROUPNAME, LOCATION, CLUSTERNAME, STORAGEACCOUNTNAME i PASSWORD w poniższym fragmencie kodu pożądanymi wartościami. Następnie wprowadź polecenia w konsoli, w celu ustawienia zmiennych środowiskowych.

    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=spark
    export componentVersion=Spark=2.3
    
  3. Utwórz grupę zasobów, wprowadzając następujące polecenie:

    az group create \
        --location $location \
        --name $resourceGroupName
    
  4. Utwórz konto usługi Azure Storage, wprowadzając następujące polecenie:

    az storage account create \
        --name $AZURE_STORAGE_ACCOUNT \
        --resource-group $resourceGroupName \
        --https-only true \
        --kind StorageV2 \
        --location $location \
        --sku Standard_LRS
    
  5. Wyodrębnij klucz podstawowy z konta usługi Azure Storage i zapisz go w zmiennej, wprowadzając następujące polecenie:

    export AZURE_STORAGE_KEY=$(az storage account keys list \
        --account-name $AZURE_STORAGE_ACCOUNT \
        --resource-group $resourceGroupName \
        --query [0].value -o tsv)
    
  6. Utwórz kontener usługi Azure Storage, wprowadzając następujące polecenie:

    az storage container create \
        --name $AZURE_STORAGE_CONTAINER \
        --account-key $AZURE_STORAGE_KEY \
        --account-name $AZURE_STORAGE_ACCOUNT
    
  7. Utwórz klaster Apache Spark, wprowadzając następujące polecenie:

    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
    

Czyszczenie zasobów

Po zakończeniu pracy z instrukcją szybkiego uruchomienia możesz usunąć klaster. W usłudze HDInsight dane są przechowywane w usłudze Azure Storage, dzięki czemu można bezpiecznie usunąć klaster, gdy nie jest używany. Opłaty są również naliczane za klaster usługi HDInsight, nawet jeśli nie jest używany. Ponieważ opłaty za klaster są wielokrotnie większe niż opłaty za magazyn, warto usunąć klastry, gdy nie są używane.

Wprowadź wszystkie lub niektóre z następujących poleceń, aby usunąć zasoby:

# 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

Następne kroki

W tym krótkim przewodniku nauczyłeś się, jak utworzyć klaster Apache Spark w usłudze Azure HDInsight, korzystając z Azure CLI. Przejdź do następnego samouczka, aby dowiedzieć się, jak używać klastra usługi HDInsight do uruchamiania interakcyjnych zapytań dotyczących przykładowych danych.