Udostępnij za pośrednictwem


Korzystanie z usługi Azure Storage w połączeniu z klastrami usługi Azure HDInsight

Dane można przechowywać w usłudze Azure Blob Storage lub Azure Data Lake Storage Gen2. Lub kombinacja tych opcji. Te opcje magazynu umożliwiają bezpieczne usuwanie klastrów usługi HDInsight używanych do obliczeń bez utraty danych użytkownika.

Platforma Apache Hadoop obsługuje pojęcie domyślnego systemu plików. Domyślny system plików wyznacza domyślny schemat i element authority. Może również służyć do rozpoznawania ścieżek względnych. Podczas procesu tworzenia klastra usługi HDInsight można określić kontener obiektów blob w usłudze Azure Storage jako domyślny system plików. Lub w usłudze HDInsight 3.6 możesz wybrać usługę Azure Blob Storage lub Azure Data Lake Storage Gen2 jako domyślny system plików z kilkoma wyjątkami.

W tym artykule omówiono współdziałanie usługi Azure Storage z klastrami usługi HDInsight.

Ważne

Typ konta magazynu BlobStorage może być używany tylko jako magazyn pomocniczy dla klastrów usługi HDInsight.

Rodzaj konta magazynu Obsługiwane usługi Obsługiwane warstwy wydajności Nieobsługiwane warstwy wydajności Obsługiwane warstwy dostępu
StorageV2 (ogólnego przeznaczenia wersja 2) Obiekt blob Standardowa (Standard) Premium Gorąca, Chłodna, Archiwum*
Magazyn (ogólnego przeznaczenia w wersji 1) Obiekt blob Standardowa (Standard) Premium Nie dotyczy
BlobStorage Obiekt blob Standardowa (Standard) Premium Gorąca, Chłodna, Archiwum*

Nie zalecamy używania domyślnego kontenera obiektów blob do przechowywania danych biznesowych. Dobrym rozwiązaniem jest usunięcie domyślnego kontenera obiektów blob po każdym użyciu, aby obniżyć koszty magazynowania. Domyślny kontener zawiera dzienniki aplikacji i systemu. Koniecznie pobierz dzienniki przed usunięciem kontenera.

Udostępnianie jednego kontenera obiektów blob jako domyślnego systemu plików dla wielu klastrów nie jest obsługiwane.

Uwaga

Warstwa dostępu Archiwum to warstwa offline, która ma kilka godzin opóźnienia pobierania i nie jest zalecana do użycia z usługą HDInsight. Aby uzyskać więcej informacji, zobacz Warstwa dostępu Archiwum.

Uzyskiwanie dostępu do plików z klastra

Uwaga

Zespół usługi Azure Storage zaprzestał wszystkich aktywnych zmian w usłudze WASB i zaleca wszystkim klientom używanie sterownika ABFS do interakcji z usługami Blob i ADLS Gen2. Aby uzyskać więcej informacji, zobacz Sterownik systemu plików usługi Azure Blob (ABFS): dedykowany sterownik usługi Azure Storage dla usługi Hadoop

  • Przy użyciu w pełni kwalifikowanej nazwy. W przypadku tej metody należy podać pełną ścieżkę do pliku, do którego chcesz uzyskać dostęp.

    wasb://<containername>@<accountname>.blob.core.windows.net/<file.path>/
    wasbs://<containername>@<accountname>.blob.core.windows.net/<file.path>/
    
  • Przy użyciu skróconego formatu ścieżki. Dzięki temu podejściu należy zastąpić ścieżkę do katalogu głównego klastra następującymi elementami:

    wasb:///<file.path>/
    wasbs:///<file.path>/
    
  • Przy użyciu ścieżki względnej. W przypadku tej metody należy podać tylko względną ścieżkę do pliku, do którego chcesz uzyskać dostęp.

    /<file.path>/
    

Przykłady dostępu do danych

Przykłady są oparte na połączeniu SSH z węzłem głównym klastra. W przykładach są używane wszystkie trzy schematy identyfikatorów URI. Zastąp CONTAINERNAME wartości i STORAGEACCOUNT odpowiednimi wartościami

Kilka poleceń hdfs

  1. Utwórz plik w magazynie lokalnym.

    touch testFile.txt
    
  2. Tworzenie katalogów w magazynie klastra.

    hdfs dfs -mkdir wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -mkdir wasbs:///sampledata2/
    hdfs dfs -mkdir /sampledata3/
    
  3. Kopiowanie danych z magazynu lokalnego do magazynu klastra.

    hdfs dfs -copyFromLocal testFile.txt  wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -copyFromLocal testFile.txt  wasbs:///sampledata2/
    hdfs dfs -copyFromLocal testFile.txt  /sampledata3/
    
  4. Wyświetlanie listy zawartości katalogu w magazynie klastra.

    hdfs dfs -ls wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/sampledata1/
    hdfs dfs -ls wasbs:///sampledata2/
    hdfs dfs -ls /sampledata3/
    

Uwaga

Podczas pracy z obiektami blob poza usługą HDInsight, większość narzędzi nie rozpoznaje formatu WASB i zamiast tego oczekuje podstawowego formatu ścieżki, takiego jak example/jars/hadoop-mapreduce-examples.jar.

Tworzenie tabeli programu Hive

Trzy lokalizacje plików są wyświetlane w celach ilustracyjnych. W przypadku rzeczywistego wykonania użyj tylko jednego z LOCATION wpisów.

DROP TABLE myTable;
CREATE EXTERNAL TABLE myTable (
    t1 string,
    t2 string,
    t3 string,
    t4 string,
    t5 string,
    t6 string,
    t7 string)
ROW FORMAT DELIMITED FIELDS TERMINATED BY ' '
STORED AS TEXTFILE
LOCATION 'wasbs://CONTAINERNAME@STORAGEACCOUNT.blob.core.windows.net/example/data/';
LOCATION 'wasbs:///example/data/';
LOCATION '/example/data/';

Uzyskiwanie dostępu do plików spoza klastra

Firma Microsoft udostępnia następujące narzędzia do pracy z usługą Azure Storage:

Narzędzie Linux OS X Windows
Witryna Azure Portal
Interfejs wiersza polecenia platformy Azure
Azure PowerShell
AzCopy

Identyfikowanie ścieżki magazynu z systemu Ambari

  • Aby zidentyfikować pełną ścieżkę do skonfigurowanego magazynu domyślnego, przejdź do:

    Konfiguracje systemu plików HDFS>i wprowadź fs.defaultFS w polu wejściowym filtru.

  • Aby sprawdzić, czy magazyn wasb jest skonfigurowany jako magazyn pomocniczy, przejdź do:

    Konfiguracje systemu plików HDFS>i wprowadź blob.core.windows.net w polu wejściowym filtru.

Aby uzyskać ścieżkę przy użyciu interfejsu API REST systemu Ambari, zobacz Pobieranie domyślnego magazynu.

Kontenery obiektów blob

Aby użyć obiektów blob, należy najpierw utworzyć konto usługi Azure Storage. W ramach tego kroku należy określić region świadczenia usługi Azure, w którym jest tworzone konto magazynu. Klaster i konto magazynu muszą być hostowane w tym samym regionie. Baza danych programu SQL Server magazynu metadanych Hive i baza danych programu SQL Server magazynu metadanych Apache Oozie muszą znajdować się w tym samym regionie.

Wszędzie tam, gdzie go umieszczono, każdy utworzony obiekt blob należy do kontenera na koncie usługi Azure Storage. Ten kontener może być istniejącym obiektem blob utworzonym poza usługą HDInsight. Może to być kontener utworzony dla klastra usługi HDInsight.

Domyślny kontener obiektów blob przechowuje informacje dotyczące klastra, takie jak dzienniki i historia zadań. Nie należy współużytkować domyślnego kontenera obiektów blob dla wielu klastrów usługi HDInsight. Ta akcja może uszkodzić historię zadań. Zaleca się użycie innego kontenera dla każdego klastra. Umieść udostępnione dane na połączonym koncie magazynu określonym dla wszystkich odpowiednich klastrów, a nie domyślnego konta magazynu. Aby uzyskać więcej informacji na temat konfigurowania połączonych kont magazynu, zobacz artykuł Tworzenie klastrów usługi HDInsight. Jednak po usunięciu oryginalnego klastra usługi HDInsight można ponownie użyć domyślnego kontenera magazynu. W przypadku klastrów HBase można zachować schemat tabeli HBase i dane, tworząc nowy klaster HBase przy użyciu domyślnego kontenera obiektów blob używanych przez usunięty klaster HBase

Uwaga

Funkcja , która wymaga bezpiecznego transferu wymusza wszystkie żądania do twojego konta za pośrednictwem bezpiecznego połączenia. Ta funkcja obsługuje tylko klaster usługi HDInsight w wersji 3.6 lub nowszej. Aby uzyskać więcej informacji, zobacz Create Apache Hadoop cluster with secure transfer storage accounts in Azure HDInsight (Tworzenie klastra Apache Hadoop przy użyciu kont magazynu bezpiecznego transferu w usłudze Azure HDInsight).

Używanie dodatkowych kont magazynu

Podczas tworzenia klastra usługi HDInsight należy wskazać konto usługi Azure Storage, które ma zostać skojarzone z tym klastrem. Ponadto możesz dodać dodatkowe konta magazynu z tej samej subskrypcji platformy Azure lub różnych subskrypcji platformy Azure podczas procesu tworzenia lub po utworzeniu klastra. Aby uzyskać instrukcje dotyczące dodawania kolejnych kont magazynu, zobacz Tworzenie klastrów usługi HDInsight.

Ostrzeżenie

Używanie dodatkowego konta magazynu w innej lokalizacji niż klaster usługi HDInsight nie jest obsługiwane.

Następne kroki

W tym artykule przedstawiono sposób korzystania z magazynu Azure zgodnego z systemem plików HDFS w połączeniu z usługą HDInsight. Ten magazyn umożliwia tworzenie dostosowanych, długoterminowych rozwiązań do pozyskiwania danych archiwalnych i korzystanie z usługi HDInsight w celu odblokowania informacji wewnątrz przechowywanych danych ustrukturyzowanych i nieustrukturyzowanych.

Aby uzyskać więcej informacji, zobacz: