Tworzenie klastra za pomocą usługi Data Lake Storage Gen2 przy użyciu interfejsu wiersza polecenia platformy Azure

Aby utworzyć klaster usługi HDInsight, który używa usługi Data Lake Storage Gen2 do magazynowania, wykonaj następujące kroki.

Wymagania wstępne

  • Jeśli nie znasz usługi Azure Data Lake Storage Gen2, zapoznaj się z sekcją przeglądu.
  • Jeśli nie masz jeszcze konta platformy Azure, utwórz bezpłatne konto przed kontynuowaniem.
  • Aby uruchomić przykłady skryptów interfejsu wiersza polecenia, masz trzy opcje:
    • Użyj usługi Azure Cloud Shell w witrynie Azure Portal (zobacz następną sekcję).
    • Użyj osadzonej usługi Azure Cloud Shell za pomocą przycisku "Wypróbuj" znajdującego się w prawym górnym rogu każdego bloku kodu.
    • Zainstaluj najnowszą wersję interfejsu wiersza polecenia platformy Azure (2.0.13 lub nowszą), jeśli wolisz używać lokalnej konsoli interfejsu wiersza polecenia. Zaloguj się do platformy Azure przy użyciu konta az loginskojarzonego z subskrypcją platformy Azure, w ramach którego chcesz wdrożyć tożsamość zarządzaną przypisaną przez użytkownika. Interfejs wiersza polecenia platformy Azure.

Azure Cloud Shell

Na platforma Azure hostowane jest Azure Cloud Shell, interaktywne środowisko powłoki, z którego można korzystać w przeglądarce. Do pracy z usługami platformy Azure można używać programu Bash lub PowerShell w środowisku Cloud Shell. Aby uruchomić kod w tym artykule, możesz użyć wstępnie zainstalowanych poleceń usługi Cloud Shell bez konieczności instalowania niczego w środowisku lokalnym.

Aby uruchomić środowisko Azure Cloud Shell:

Opcja Przykład/link
Wybierz pozycję Wypróbuj w prawym górnym rogu bloku kodu lub polecenia. Wybranie pozycji Wypróbuj nie powoduje automatycznego skopiowania kodu lub polecenia do usługi Cloud Shell. Screenshot that shows an example of Try It for Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Button to launch Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Screenshot that shows the Cloud Shell button in the Azure portal

Aby użyć usługi Azure Cloud Shell:

  1. Uruchom usługę Cloud Shell.

  2. Wybierz przycisk Kopiuj w bloku kodu (lub bloku poleceń), aby skopiować kod lub polecenie.

  3. Wklej kod lub polecenie do sesji usługi Cloud Shell, wybierając klawisze Ctrl+Shift V w systemach Windows i Linux lub wybierając pozycję Cmd+Shift++V w systemie macOS.

  4. Wybierz klawisz Enter, aby uruchomić kod lub polecenie.

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.

Możesz pobrać przykładowy plik szablonu i pobrać przykładowy plik parametrów. Przed użyciem szablonu i fragmentu kodu interfejsu wiersza polecenia platformy Azure poniżej zastąp następujące symbole zastępcze poprawnymi wartościami:

Symbol zastępczy opis
<SUBSCRIPTION_ID> Identyfikator subskrypcji platformy Azure
<RESOURCEGROUPNAME> Grupa zasobów, w której chcesz utworzyć nowy klaster i konto magazynu.
<MANAGEDIDENTITYNAME> Nazwa tożsamości zarządzanej, która będzie mieć uprawnienia na koncie magazynu przy użyciu usługi Azure Data Lake Storage Gen2.
<STORAGEACCOUNTNAME> Nowe konto magazynu z usługą Azure Data Lake Storage Gen2, które zostanie utworzone.
<FILESYSTEMNAME> Nazwa systemu plików, którego ten klaster powinien używać na koncie magazynu.
<CLUSTERNAME> Nazwa klastra usługi HDInsight.
<PASSWORD> Wybrane hasło do logowania się do klastra przy użyciu protokołu SSH i pulpitu nawigacyjnego systemu Ambari.

Poniższy fragment kodu wykonuje następujące początkowe kroki:

  1. Zaloguj się do konta platformy Azure.
  2. Ustawia aktywną subskrypcję, w której będą wykonywane operacje tworzenia.
  3. Tworzy nową grupę zasobów dla nowych działań wdrażania.
  4. Tworzy tożsamość zarządzaną przypisaną przez użytkownika.
  5. Dodaje rozszerzenie do interfejsu wiersza polecenia platformy Azure w celu używania funkcji usługi Data Lake Storage Gen2.
  6. Tworzy nowe konto magazynu z usługą Data Lake Storage Gen2 przy użyciu flagi --hierarchical-namespace true .
az login
az account set --subscription <SUBSCRIPTION_ID>

# Create resource group
az group create --name <RESOURCEGROUPNAME> --location eastus

# Create managed identity
az identity create -g <RESOURCEGROUPNAME> -n <MANAGEDIDENTITYNAME>

az extension add --name storage-preview

az storage account create --name <STORAGEACCOUNTNAME> \
    --resource-group <RESOURCEGROUPNAME> \
    --location eastus --sku Standard_LRS \
    --kind StorageV2 --hierarchical-namespace true

Następnie zaloguj się do portalu. Dodaj nową tożsamość zarządzaną przypisaną przez użytkownika do roli Właściciel danych obiektu blob usługi Storage na koncie magazynu. Ten krok został opisany w kroku 3 w obszarze Korzystanie z witryny Azure Portal.

Ważne

Upewnij się, że twoje konto magazynu ma tożsamość przypisaną przez użytkownika z uprawnieniami właściciela danych obiektu blob usługi Storage. W przeciwnym razie tworzenie klastra zakończy się niepowodzeniem.

az deployment group create --name HDInsightADLSGen2Deployment \
    --resource-group <RESOURCEGROUPNAME> \
    --template-file hdinsight-adls-gen2-template.json \
    --parameters parameters.json

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

Pomyślnie utworzono klaster usługi HDInsight. Teraz dowiedz się, jak pracować z klastrem.

Klastry Apache Spark

Klastry Apache Hadoop

Klastry Apache HBase