Tworzenie klastra usługi HDInsight przy użyciu szablonu usługi Azure Data Lake Storage Gen1 przy użyciu szablonu usługi Azure Resource Manager

Dowiedz się, jak skonfigurować Azure Data Lake Storage klaster usługi HDInsight przy użyciu Azure PowerShell Gen1 jako dodatkowego magazynu.

W przypadku obsługiwanych typów klastrów można użyć Data Lake Storage Gen1 jako domyślnego magazynu lub jako dodatkowego konta magazynu. Jeśli Data Lake Storage Gen1 jest używany jako dodatkowy magazyn, domyślne konto magazynu dla klastrów nadal będzie usługą Azure Blob Storage (WASB), a pliki związane z klastrem (takie jak dzienniki itp.) są nadal zapisywane w magazynie domyślnym, podczas gdy dane, które chcesz przetworzyć, mogą być przechowywane na koncie Data Lake Storage Gen1. Użycie Data Lake Storage Gen1 jako dodatkowego konta magazynu nie ma wpływu na wydajność ani możliwość odczytu/zapisu w magazynie z klastra.

Używanie Data Lake Storage Gen1 dla magazynu klastra usługi HDInsight

Poniżej przedstawiono kilka ważnych zagadnień dotyczących korzystania z usługi HDInsight z Data Lake Storage Gen1:

  • Opcja tworzenia klastrów usługi HDInsight z dostępem do Data Lake Storage Gen1, ponieważ domyślny magazyn jest dostępny dla usługi HDInsight w wersji 3.5 i 3.6.

  • Opcja tworzenia klastrów usługi HDInsight z dostępem do Data Lake Storage Gen1, ponieważ jest dostępny dodatkowy magazyn dla usługi HDInsight w wersji 3.2, 3.4, 3.5 i 3.6.

W tym artykule aprowizujemy klaster hadoop z Data Lake Storage Gen1 jako dodatkowy magazyn. Aby uzyskać instrukcje dotyczące tworzenia klastra Hadoop z Data Lake Storage Gen1 jako magazynu domyślnego, zobacz Tworzenie klastra usługi HDInsight z Data Lake Storage Gen1 przy użyciu Azure Portal.

Wymagania wstępne

Uwaga

Do interakcji z platformą Azure zalecamy używanie modułu Azure Az w programie PowerShell. Zobacz Instalowanie programu Azure PowerShell, aby rozpocząć. Aby dowiedzieć się, jak przeprowadzić migrację do modułu Az PowerShell, zobacz Migracja programu Azure PowerShell z modułu AzureRM do modułu Az.

Przed przystąpieniem do wykonania kroków opisanych w tym samouczku należy dysponować następującymi elementami:

  • Subskrypcja platformy Azure. Zobacz temat Uzyskiwanie bezpłatnej wersji próbnej platformy Azure.

  • Program Azure PowerShell 1.0 lub nowszy. Zobacz artykuł Instalowanie i konfigurowanie programu Azure PowerShell.

  • Microsoft Entra jednostki usługi. Kroki opisane w tym samouczku zawierają instrukcje dotyczące tworzenia jednostki usługi w Tożsamość Microsoft Entra. Aby móc utworzyć jednostkę usługi, musisz być administratorem Microsoft Entra. Jeśli jesteś administratorem Microsoft Entra, możesz pominąć to wymaganie wstępne i przejść do samouczka.

    Jeśli nie jesteś administratorem Microsoft Entra, nie będzie można wykonać kroków wymaganych do utworzenia jednostki usługi. W takim przypadku administrator Microsoft Entra musi najpierw utworzyć jednostkę usługi przed utworzeniem klastra usługi HDInsight przy użyciu Data Lake Storage Gen1. Ponadto jednostka usługi musi zostać utworzona przy użyciu certyfikatu zgodnie z opisem w temacie Tworzenie jednostki usługi z certyfikatem.

Tworzenie klastra usługi HDInsight przy użyciu Data Lake Storage Gen1

Szablon Resource Manager i wymagania wstępne dotyczące korzystania z szablonu są dostępne w usłudze GitHub w temacie Deploy a HDInsight Linux cluster with new Data Lake Storage Gen1 (Wdrażanie klastra systemu Linux w usłudze HDInsight z nowym Data Lake Storage Gen1). Postępuj zgodnie z instrukcjami podanymi pod tym linkiem, aby utworzyć klaster usługi HDInsight z Data Lake Storage Gen1 jako dodatkowy magazyn.

Instrukcje podane w powyższym linku wymagają programu PowerShell. Przed rozpoczęciem pracy z tymi instrukcjami upewnij się, że logujesz się do konta platformy Azure. Na pulpicie otwórz nowe okno Azure PowerShell i wprowadź następujące fragmenty kodu. Po wyświetleniu monitu o zalogowanie się upewnij się, że zalogowano się jako jeden z administratorów/właściciela subskrypcji:

# Log in to your Azure account
Connect-AzAccount

# List all the subscriptions associated to your account
Get-AzSubscription

# Select a subscription
Set-AzContext -SubscriptionId <subscription ID>

Szablon wdraża następujące typy zasobów:

Przekazywanie przykładowych danych do Data Lake Storage Gen1

Szablon Resource Manager tworzy nowe konto magazynu z Data Lake Storage Gen1 i kojarzy je z klastrem usługi HDInsight. Teraz musisz przekazać przykładowe dane do Data Lake Storage Gen1. Te dane będą potrzebne w dalszej części samouczka, aby uruchamiać zadania z klastra usługi HDInsight, które uzyskują dostęp do danych na koncie magazynu przy użyciu Data Lake Storage Gen1. Aby uzyskać instrukcje dotyczące przekazywania danych, zobacz Przekazywanie pliku do Data Lake Storage Gen1. Jeśli szukasz przykładowych danych do przekazania, możesz pobrać folder Ambulance Data z repozytorium Git usługi Azure Data Lake.

Ustawianie odpowiednich list ACL dla przykładowych danych

Aby upewnić się, że przekazane przykładowe dane są dostępne z klastra usługi HDInsight, upewnij się, że aplikacja Microsoft Entra używana do ustanawiania tożsamości między klastrem usługi HDInsight a Data Lake Storage Gen1 ma dostęp do pliku/folderu, do którego próbujesz uzyskać dostęp. W tym celu wykonaj następujące kroki.

  1. Znajdź nazwę aplikacji Microsoft Entra skojarzonej z klastrem usługi HDInsight i kontem magazynu z Data Lake Storage Gen1. Jednym ze sposobów wyszukiwania nazwy jest otwarcie bloku klastra usługi HDInsight utworzonego przy użyciu szablonu Resource Manager, kliknięcie karty Tożsamość Microsoft Entra klastra i wyszukanie wartości Głównej nazwy wyświetlanej usługi.
  2. Teraz należy zapewnić dostęp do tej aplikacji Microsoft Entra w pliku/folderze, do którego chcesz uzyskać dostęp z klastra usługi HDInsight. Aby ustawić odpowiednie listy ACL w pliku/folderze w Data Lake Storage Gen1, zobacz Zabezpieczanie danych w Data Lake Storage Gen1.

Uruchamianie zadań testowych w klastrze usługi HDInsight w celu użycia Data Lake Storage Gen1

Po skonfigurowaniu klastra usługi HDInsight można uruchomić zadania testowe w klastrze, aby przetestować, czy klaster usługi HDInsight może uzyskać dostęp do Data Lake Storage Gen1. W tym celu uruchomimy przykładowe zadanie hive, które tworzy tabelę przy użyciu przykładowych danych przekazanych wcześniej do konta magazynu przy użyciu Data Lake Storage Gen1.

W tej sekcji przeszukujesz protokół SSH do klastra usługi HDInsight z systemem Linux i uruchomisz przykładowe zapytanie Hive. Jeśli używasz klienta systemu Windows, zalecamy użycie programu PuTTY, który można pobrać z https://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlwitryny .

Aby uzyskać więcej informacji na temat korzystania z programu PuTTY, zobacz Use SSH with Linux-based Hadoop on HDInsight from Windows (Używanie protokołu SSH z opartą na systemie Linux platformą Hadoop w usłudze HDInsight z systemu Windows).

  1. Po nawiązaniu połączenia uruchom interfejs wiersza polecenia programu Hive przy użyciu następującego polecenia:

    hive
    
  2. Za pomocą interfejsu wiersza polecenia wprowadź następujące instrukcje, aby utworzyć nową tabelę o nazwie vehicles przy użyciu przykładowych danych w Data Lake Storage Gen1:

    DROP TABLE vehicles;
    CREATE EXTERNAL TABLE vehicles (str string) LOCATION 'adl://<mydatalakestoragegen1>.azuredatalakestore.net:443/';
    SELECT * FROM vehicles LIMIT 10;
    

    Wyświetlone dane wyjściowe powinny przypominać następujące dane:

    1,1,2014-09-14 00:00:03,46.81006,-92.08174,51,S,1
    1,2,2014-09-14 00:00:06,46.81006,-92.08174,13,NE,1
    1,3,2014-09-14 00:00:09,46.81006,-92.08174,48,NE,1
    1,4,2014-09-14 00:00:12,46.81006,-92.08174,30,W,1
    1,5,2014-09-14 00:00:15,46.81006,-92.08174,47,S,1
    1,6,2014-09-14 00:00:18,46.81006,-92.08174,9,S,1
    1,7,2014-09-14 00:00:21,46.81006,-92.08174,53,N,1
    1,8,2014-09-14 00:00:24,46.81006,-92.08174,63,SW,1
    1,9,2014-09-14 00:00:27,46.81006,-92.08174,4,NE,1
    1,10,2014-09-14 00:00:30,46.81006,-92.08174,31,N,1
    

Uzyskiwanie dostępu do Data Lake Storage Gen1 przy użyciu poleceń HDFS

Po skonfigurowaniu klastra usługi HDInsight do używania Data Lake Storage Gen1 można uzyskać dostęp do magazynu za pomocą poleceń powłoki HDFS.

W tej sekcji przeszukujesz protokół SSH do klastra usługi HDInsight z systemem Linux i uruchomisz polecenia HDFS. Jeśli używasz klienta systemu Windows, zalecamy użycie programu PuTTY, który można pobrać z https://www.chiark.greenend.org.uk/~sgtatham/putty/download.htmlwitryny .

Aby uzyskać więcej informacji na temat korzystania z programu PuTTY, zobacz Use SSH with Linux-based Hadoop on HDInsight from Windows (Używanie protokołu SSH z opartą na systemie Linux platformą Hadoop w usłudze HDInsight z systemu Windows).

Po nawiązaniu połączenia użyj następującego polecenia systemu plików HDFS, aby wyświetlić listę plików na koncie magazynu z Data Lake Storage Gen1.

hdfs dfs -ls adl://<storage account with Data Lake Storage Gen1 name>.azuredatalakestore.net:443/

Powinno to spowodować wyświetlenie wcześniej przekazanego pliku do Data Lake Storage Gen1.

15/09/17 21:41:15 INFO web.CaboWebHdfsFileSystem: Replacing original urlConnectionFactory with org.apache.hadoop.hdfs.web.URLConnectionFactory@21a728d6
Found 1 items
-rwxrwxrwx   0 NotSupportYet NotSupportYet     671388 2015-09-16 22:16 adl://mydatalakestoragegen1.azuredatalakestore.net:443/mynewfolder

Możesz również użyć hdfs dfs -put polecenia , aby przekazać niektóre pliki do Data Lake Storage Gen1, a następnie użyć polecenia hdfs dfs -ls , aby sprawdzić, czy pliki zostały pomyślnie przekazane.

Następne kroki