Udostępnij za pośrednictwem


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ą omówienia.
  • 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 platformie Azure jest hostowana 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. Zrzut ekranu przedstawiający przykład narzędzia Try It dla usługi Azure Cloud Shell.
Przejdź do witryny https://shell.azure.com lub wybierz przycisk Uruchom Cloud Shell, aby otworzyć środowisko Cloud Shell w przeglądarce. Przycisk uruchamiania usługi Azure Cloud Shell.
Wybierz przycisk Cloud Shell na pasku menu w prawym górnym rogu witryny Azure Portal. Zrzut ekranu przedstawiający przycisk usługi Cloud Shell w witrynie 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 Ctrl++V w systemie macOS.

  4. Wybierz 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 poniższego fragmentu kodu Azure CLI, 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 mają być utworzone nowy klaster i konto magazynu.
<MANAGEDIDENTITYNAME> Nazwa tożsamości zarządzanej, która będzie miała uprawnienia w koncie magazynowym przy użyciu usługi Azure Data Lake Storage Gen2.
<STORAGEACCOUNTNAME> Nowe konto magazynu z usługą Azure Data Lake Storage Gen2 zostanie utworzone.
<FILESYSTEMNAME> Nazwa systemu plików, którego ta grupa powinna używać w koncie magazynowym.
<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 utworzone operacje.
  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. Przy użyciu flagi --hierarchical-namespace true tworzy nowe konto magazynowe z usługą Data Lake Storage Gen2.
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 w usłudze 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 przypisaną przez użytkownika tożsamość z uprawnieniami roli właściciela danych obiektów BLOB usługi Azure 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

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

Klastry Apache Spark

Klastry Apache Hadoop

Klastry Apache HBase