Tworzenie klastrów usługi HDInsight przy użyciu interfejsu wiersza polecenia platformy Azure
Kroki opisane w tym dokumencie obejmują tworzenie klastra usługi HDInsight 4.0 przy użyciu interfejsu wiersza polecenia platformy Azure.
Ostrzeżenie
Rozliczenia dla klastrów usługi HDInsight są naliczane proporcjonalnie na minutę, niezależnie od tego, czy są używane. Pamiętaj, aby usunąć klaster po zakończeniu korzystania z niego. Zobacz , jak usunąć klaster usługi HDInsight.
Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz bezpłatne konto platformy Azure.
Wymagania wstępne
Użyj środowiska powłoki Bash w usłudze Azure Cloud Shell. Aby uzyskać więcej informacji, zobacz Szybki start dotyczący powłoki Bash w usłudze Azure Cloud Shell.
Jeśli wolisz uruchamiać polecenia referencyjne interfejsu wiersza polecenia lokalnie, zainstaluj interfejs wiersza polecenia platformy Azure. Jeśli korzystasz z systemu Windows lub macOS, rozważ uruchomienie interfejsu wiersza polecenia platformy Azure w kontenerze Docker. Aby uzyskać więcej informacji, zobacz Jak uruchomić interfejs wiersza polecenia platformy Azure w kontenerze platformy Docker.
Jeśli korzystasz z instalacji lokalnej, zaloguj się do interfejsu wiersza polecenia platformy Azure za pomocą polecenia az login. Aby ukończyć proces uwierzytelniania, wykonaj kroki wyświetlane w terminalu. Aby uzyskać inne opcje logowania, zobacz Logowanie się przy użyciu interfejsu wiersza polecenia platformy Azure.
Po wyświetleniu monitu zainstaluj rozszerzenie interfejsu wiersza polecenia platformy Azure podczas pierwszego użycia. Aby uzyskać więcej informacji na temat rozszerzeń, zobacz Korzystanie z rozszerzeń w interfejsie wiersza polecenia platformy Azure.
Uruchom polecenie az version, aby znaleźć zainstalowane wersje i biblioteki zależne. Aby uaktualnić do najnowszej wersji, uruchom polecenie az upgrade.
Tworzenie klastra
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 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"
Ustaw zmienne środowiskowe. Użycie zmiennych w tym artykule jest oparte na powłoce Bash. W innych środowiskach potrzebne są niewielkie różnice. Aby uzyskać pełną listę możliwych parametrów tworzenia klastra, zobacz az-hdinsight-create .
Parametr Opis --workernode-count
Liczba węzłów procesu roboczego w klastrze. W tym artykule użyto zmiennej clusterSizeInNodes
jako wartości przekazanej do--workernode-count
elementu .--version
Wersja klastra usługi HDInsight. W tym artykule użyto zmiennej clusterVersion
jako wartości przekazanej do--version
elementu . Zobacz również: Obsługiwane wersje usługi HDInsight.--type
Typ klastra usługi HDInsight, na przykład: hadoop, interactive hive, hbase, kafka, spark, rserver
,mlservices
. W tym artykule użyto zmiennejclusterType
jako wartości przekazanej do--type
elementu . Zobacz również: Typy klastrów i konfiguracja.--component-version
Wersje różnych składników usługi Hadoop w wersjach rozdzielonych spacjami w formacie "component=version". W tym artykule użyto zmiennej componentVersion
jako wartości przekazanej do--component-version
elementu . Zobacz również: Składniki usługi Hadoop.Zastąp
RESOURCEGROUPNAME
wartości , ,LOCATION
CLUSTERNAME
,STORAGEACCOUNTNAME
iPASSWORD
żądanymi wartościami. Zmień wartości innych zmiennych zgodnie z potrzebami. Następnie wprowadź polecenia interfejsu wiersza polecenia.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
Utwórz grupę zasobów, wprowadzając następujące polecenie:
az group create \ --location $location \ --name $resourceGroupName
Aby uzyskać listę prawidłowych lokalizacji, użyj
az account list-locations
polecenia , a następnie użyj jednej z lokalizacji zname
wartości .Utwórz konto usługi Azure Storage, wprowadzając następujące polecenie:
# 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
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)
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
Utwórz klaster usługi HDInsight, 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
Ważne
Klastry usługi HDInsight są dostępne w różnych typach, które odpowiadają obciążeniu lub technologii, dla której klaster jest dostrojony. Nie ma obsługiwanej metody tworzenia klastra, który łączy wiele typów, takich jak HBase w jednym klastrze.
Ukończenie procesu tworzenia klastra może potrwać kilka minut. Zwykle około 15.
Czyszczenie zasobów
Po ukończeniu korzystania z artykułu warto 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
Rozwiązywanie problemów
W razie problemów podczas tworzenia klastrów usługi HDInsight zapoznaj się z wymaganiami dotyczącymi kontroli dostępu.
Następne kroki
Po pomyślnym utworzeniu klastra usługi HDInsight przy użyciu interfejsu wiersza polecenia platformy Azure skorzystaj z następującego polecenia, aby dowiedzieć się, jak pracować z klastrem: