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.
- Aby dowiedzieć się, jak usługa Data Lake Storage Gen2 współpracuje z klastrami usługi HDInsight, zobacz Use Azure Data Lake Storage Gen2 with Azure HDInsight clusters (Używanie usługi Azure Data Lake Storage Gen2 z klastrami usługi Azure HDInsight).
- Aby uzyskać więcej informacji na temat tworzenia klastra usługi HDInsight, zobacz Tworzenie klastrów Apache Hadoop w usłudze 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
Utwórz plik w magazynie lokalnym.
touch testFile.txt
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/
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/
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:
- Szybki start: tworzenie klastra Apache Hadoop
- Samouczek: tworzenie klastrów usługi HDInsight
- Korzystanie z usługi Azure Data Lake Storage Gen2 w połączeniu z klastrami usługi Azure HDInsight
- Przekazywanie danych do usługi HDInsight
- Samouczek: wyodrębnianie, przekształcanie i ładowanie danych przy użyciu zapytania interakcyjnego w usłudze Azure HDInsight
- Use Azure Storage Shared Access Signatures to restrict access to data with HDInsight (Używanie sygnatur dostępu współdzielonego do usługi Azure Storage, aby ograniczyć dostęp do danych za pomocą usługi HDInsight)