Konfigurowanie klastrów w usłudze HDInsight przy użyciu technologii Apache Hadoop, Apache Spark, Apache Kafka i innych
Dowiedz się, jak skonfigurować platformy Apache Hadoop, Apache Spark, Apache Kafka, zapytanie interakcyjne lub bazę danych Apache HBase lub w usłudze HDInsight. Dowiedz się również, jak dostosować klastry i dodać zabezpieczenia, dołączając je do domeny.
Klaster Hadoop składa się z kilku maszyn wirtualnych (węzłów), które są używane do rozproszonego przetwarzania zadań. Usługa Azure HDInsight obsługuje szczegóły implementacji instalacji i konfiguracji poszczególnych węzłów, dlatego wystarczy podać ogólne informacje o konfiguracji.
Ważne
Naliczanie opłat rozpoczyna się w momencie utworzenia klastra usługi HDInsight i kończy się wraz z jego usunięciem. Opłaty są naliczane za minutę, więc jeśli klaster nie jest używany, należy go usunąć. Dowiedz się, jak usunąć klaster.
Jeśli używasz wielu klastrów razem, musisz utworzyć sieć wirtualną, a jeśli używasz klastra Spark, musisz również użyć łącznika magazynu Hive. Aby uzyskać więcej informacji, zobacz Planowanie sieci wirtualnej dla usługi Azure HDInsight i Integrowanie platform Apache Spark i Apache Hive z łącznikiem magazynu Hive.
Metody konfiguracji klastra
W poniższej tabeli przedstawiono różne metody, których można użyć do skonfigurowania klastra usługi HDInsight.
Klastry utworzone za pomocą polecenia | Przeglądarka sieci Web | Wiersz polecenia | Interfejs API REST | SDK |
---|---|---|---|---|
Witryna Azure Portal | ✅ | |||
Azure Data Factory | ✅ | ✅ | ✅ | ✅ |
Interfejs wiersza polecenia platformy Azure | ✅ | |||
Azure PowerShell | ✅ | |||
cURL | ✅ | ✅ | ||
Szablony usługi Azure Resource Manager | ✅ |
W tym artykule opisano konfigurację w witrynie Azure Portal, w której można utworzyć klaster usługi HDInsight.
Podstawy
Szczegóły projektu
Usługa Azure Resource Manager ułatwia pracę z zasobami w aplikacji jako grupą, nazywaną grupą zasobów platformy Azure. Możesz wdrożyć, zaktualizować, monitorować lub usunąć wszystkie zasoby aplikacji w ramach jednej skoordynowanej operacji.
Szczegóły klastra
Nazwa klastra
Nazwy klastrów usługi HDInsight mają następujące ograniczenia:
- Dozwolone znaki: a-z, 0-9, A-Z
- Maksymalna długość: 59
- Nazwy zarezerwowane: aplikacje
- Zakres nazewnictwa klastra dotyczy całej platformy Azure we wszystkich subskrypcjach. Dlatego nazwa klastra musi być unikatowa na całym świecie.
- Pierwsze sześć znaków musi być unikatowe w sieci wirtualnej
Region (Region)
Nie musisz jawnie określać lokalizacji klastra: klaster znajduje się w tej samej lokalizacji co magazyn domyślny. Aby uzyskać listę obsługiwanych regionów, wybierz listę rozwijaną Region w cenniku usługi HDInsight.
Typ klastra
Usługa Azure HDInsight udostępnia obecnie następujące typy klastrów, z których każdy ma zestaw składników zapewniających pewne funkcje.
Ważne
Klastry usługi HDInsight są dostępne w różnych typach, z których każdy jest przeznaczony dla jednego obciążenia lub technologii. Nie ma obsługiwanej metody tworzenia klastra, który łączy wiele typów, takich jak HBase w jednym klastrze. Jeśli twoje rozwiązanie wymaga technologii, które są rozmieszczone w wielu typach klastrów usługi HDInsight, sieć wirtualna platformy Azure może połączyć wymagane typy klastrów.
Typ klastra | Funkcje |
---|---|
Hadoop | Zapytanie wsadowe i analiza przechowywanych danych |
HBase | Przetwarzanie dużych ilości danych bez schematu, danych NoSQL |
Zapytanie interakcyjne | Buforowanie w pamięci na potrzeby interakcyjnych i szybszych zapytań Hive |
Kafka | Rozproszona platforma przesyłania strumieniowego, która może służyć do tworzenia potoków i aplikacji przesyłania strumieniowego w czasie rzeczywistym |
Spark | Przetwarzanie w pamięci, interakcyjne zapytania, przetwarzanie strumienia mikrosadowego |
Wersja
Wybierz wersję usługi HDInsight dla tego klastra. Aby uzyskać więcej informacji, zobacz Obsługiwane wersje usługi HDInsight.
Poświadczenia klastra
Za pomocą klastrów usługi HDInsight można skonfigurować dwa konta użytkowników podczas tworzenia klastra:
- Nazwa użytkownika logowania klastra: domyślna nazwa użytkownika to administrator. Używa on podstawowej konfiguracji w witrynie Azure Portal. Czasami jest nazywany "użytkownikiem klastra" lub "użytkownikiem HTTP".
- Nazwa użytkownika protokołu Secure Shell (SSH): służy do nawiązywania połączenia z klastrem za pośrednictwem protokołu SSH. Aby uzyskać więcej informacji, zobacz Używanie protokołu SSH w usłudze HDInsight.
Nazwa użytkownika HTTP ma następujące ograniczenia:
- Dozwolone znaki specjalne:
_
i@
- Niedozwolone znaki:
#;."',/:
!*?$(){}[]<>|&--=+%~^spacja' - Maksymalna długość: 20
Nazwa użytkownika SSH ma następujące ograniczenia:
- Dozwolone znaki specjalne:
_
i@
- Niedozwolone znaki:
#;."',/:
!*?$(){}[]<>|&--=+%~^spacja' - Maksymalna długość: 64
- Nazwy zarezerwowane: hadoop, users, oozie, hive, mapred, ambari-qa, zookeeper, tez, hdfs, sqoop, yarn, hcat, ams, hbase, administrator, admin, user, user1, test, user2, test1, user3, admin1, 1, 123, a,
actuser
adm, admin2, aspnet, backup, David, guest, John, owner, root, sql, support, support_388945a0, sys, test2, user4, user5, spark
Storage
Mimo że lokalna instalacja usługi Hadoop używa rozproszonego systemu plików Hadoop (HDFS) do magazynowania w klastrze, w chmurze używasz punktów końcowych magazynu połączonych z klastrem. Użycie magazynu w chmurze oznacza, że można bezpiecznie usunąć klastry usługi HDInsight używane do obliczeń, zachowując jednocześnie dane.
Klastry usługi HDInsight mogą używać następujących opcji magazynu:
- Azure Data Lake Storage Gen2
- Ogólnego przeznaczenia usługi Azure Storage w wersji 2
-
- Blokowy obiekt blob usługi Azure Storage (obsługiwany tylko jako magazyn pomocniczy)
Aby uzyskać więcej informacji na temat opcji magazynu w usłudze HDInsight, zobacz Porównanie opcji magazynu do użycia z klastrami usługi Azure HDInsight.
Ostrzeżenie
Używanie dodatkowego konta magazynu w innej lokalizacji niż klaster usługi HDInsight nie jest obsługiwane.
Podczas konfigurowania dla domyślnego punktu końcowego magazynu należy określić kontener obiektów blob konta usługi Azure Storage lub usługi Data Lake Storage. Domyślny magazyn zawiera dzienniki aplikacji i systemu. Opcjonalnie możesz określić dodatkowe połączone konta usługi Azure Storage i konta usługi Data Lake Storage, do których klaster ma dostęp. Klaster usługi HDInsight i zależne konta magazynu muszą znajdować się w tej samej lokalizacji platformy Azure.
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).
Ważne
Włączenie bezpiecznego transferu magazynu po utworzeniu klastra może spowodować błędy przy użyciu konta magazynu i nie jest zalecane. Lepiej jest utworzyć nowy klaster przy użyciu konta magazynu z włączonym bezpiecznym transferem.
Uwaga
Usługa Azure HDInsight nie przesyła automatycznie ani nie kopiuje danych przechowywanych w usłudze Azure Storage z jednego regionu do innego.
Ustawienia magazynu metadanych
Możesz utworzyć opcjonalne magazyny metadanych Hive lub Apache Oozie. Jednak nie wszystkie typy klastrów obsługują magazyny metadanych, a usługa Azure Synapse Analytics nie jest zgodna z magazynami metadanych.
Aby uzyskać więcej informacji, zobacz Używanie zewnętrznych magazynów metadanych w usłudze Azure HDInsight.
Ważne
Podczas tworzenia niestandardowego magazynu metadanych nie używaj łączników ani spacji w nazwie bazy danych. Może to spowodować niepowodzenie procesu tworzenia klastra.
Baza danych SQL dla programu Hive
Jeśli chcesz zachować tabele programu Hive po usunięciu klastra usługi HDInsight, użyj niestandardowego magazynu metadanych. Następnie możesz dołączyć magazyn metadanych do innego klastra usługi HDInsight.
Magazyn metadanych usługi HDInsight utworzony dla jednej wersji klastra usługi HDInsight nie może być współużytkowany w różnych wersjach klastra usługi HDInsight. Aby uzyskać listę wersji usługi HDInsight, zobacz Obsługiwane wersje usługi HDInsight.
Ważne
Domyślny magazyn metadanych udostępnia usługę Azure SQL Database z limitem 5 jednostek DTU w warstwie Podstawowa (nie można uaktualnić)! Nadaje się do podstawowych celów testowych. W przypadku dużych lub produkcyjnych obciążeń zalecamy migrację do zewnętrznego magazynu metadanych.
Baza danych SQL dla usługi Oozie
Aby zwiększyć wydajność podczas korzystania z usługi Oozie, użyj niestandardowego magazynu metadanych. Magazyn metadanych może również zapewnić dostęp do danych zadania Oozie po usunięciu klastra.
Baza danych SQL dla systemu Ambari
Narzędzie Ambari służy do monitorowania klastrów usługi HDInsight, wprowadzania zmian konfiguracji i przechowywania informacji dotyczących zarządzania klastrami oraz historii zadań. Niestandardowa funkcja bazy danych Ambari umożliwia wdrożenie nowego klastra i skonfigurowanie systemu Ambari w zewnętrznej bazie danych, którą zarządzasz. Aby uzyskać więcej informacji, zobacz Custom Ambari DB (Niestandardowa baza danych Ambari).
Ważne
Nie można ponownie użyć niestandardowego magazynu metadanych Oozie. Aby użyć niestandardowego magazynu metadanych Oozie, należy podać pustą bazę danych Azure SQL Database podczas tworzenia klastra usługi HDInsight.
Zabezpieczenia i sieć
Pakiet Enterprise Security
W przypadku typów klastrów Hadoop, Spark, HBase, Kafka i Interactive Query można włączyć pakiet Enterprise Security. Ten pakiet zapewnia opcję bardziej bezpiecznej konfiguracji klastra przy użyciu platformy Apache Ranger i integracji z identyfikatorem Entra firmy Microsoft. Aby uzyskać więcej informacji, zobacz Omówienie zabezpieczeń przedsiębiorstwa w usłudze Azure HDInsight.
Pakiet zabezpieczeń przedsiębiorstwa umożliwia integrację usługi HDInsight z usługami Active Directory i Apache Ranger. Wielu użytkowników można utworzyć przy użyciu pakietu Enterprise Security.
Aby uzyskać więcej informacji na temat tworzenia przyłączonego do domeny klastra usługi HDInsight, zobacz Create domain-joined HDInsight sandbox environment (Tworzenie przyłączonego do domeny środowiska piaskownicy usługi HDInsight).
TLS
Aby uzyskać więcej informacji, zobacz Transport Layer Security
Sieć wirtualna
Jeśli twoje rozwiązanie wymaga technologii, które są rozmieszczone w wielu typach klastrów usługi HDInsight, sieć wirtualna platformy Azure może połączyć wymagane typy klastrów. Ta konfiguracja umożliwia klastrom i wszystkim wdrażanemu w nich kodowi bezpośrednie komunikowanie się ze sobą.
Aby uzyskać więcej informacji na temat korzystania z sieci wirtualnej platformy Azure z usługą HDInsight, zobacz Planowanie sieci wirtualnej dla usługi HDInsight.
Przykład użycia dwóch typów klastrów w sieci wirtualnej platformy Azure można znaleźć w temacie Use Apache Spark Structured Streaming with Apache Kafka (Używanie przesyłania strumieniowego ze strukturą platformy Apache Spark z platformą Apache Kafka). Aby uzyskać więcej informacji na temat korzystania z usługi HDInsight z siecią wirtualną, w tym określonych wymagań konfiguracyjnych dla sieci wirtualnej, zobacz Planowanie sieci wirtualnej dla usługi HDInsight.
Ustawienie szyfrowania dysków
Aby uzyskać więcej informacji, zobacz Szyfrowanie dysków klucza zarządzanego przez klienta.
Serwer proxy REST Kafka
To ustawienie jest dostępne tylko dla typu klastra Kafka. Aby uzyskać więcej informacji, zobacz Używanie serwera proxy REST.
Tożsamość
Aby uzyskać więcej informacji, zobacz Tożsamości zarządzane w usłudze Azure HDInsight.
Konfiguracja i cennik
Opłaty są naliczane za użycie węzłów, o ile klaster istnieje. Rozliczenia są uruchamiane po utworzeniu klastra i zatrzymaniu się po usunięciu klastra. Klastry nie mogą zostać co najmniej przydzielone lub wstrzymane.
Konfiguracja węzła
Każdy typ klastra ma własną liczbę węzłów, terminologię dla węzłów i domyślny rozmiar maszyny wirtualnej. W poniższej tabeli liczba węzłów dla każdego typu węzła znajduje się w nawiasach.
Typ | Węzły | Diagram |
---|---|---|
Hadoop | Węzeł główny (2), węzeł roboczy (1+) | |
HBase | Serwer główny (2), serwer regionu (1+), węzeł główny/zooKeeper (3) | |
platforma Spark | Węzeł główny (2), węzeł roboczy (1+), węzeł ZooKeeper (3) (bezpłatny dla rozmiaru maszyny wirtualnej usługi ZooKeeper A1) |
Aby uzyskać więcej informacji, zobacz Domyślna konfiguracja węzła i rozmiary maszyn wirtualnych dla klastrów w temacie "Co to są składniki i wersje usługi Hadoop w usłudze HDInsight?"
Koszt klastrów usługi HDInsight zależy od liczby węzłów i rozmiarów maszyn wirtualnych dla węzłów.
Różne typy klastrów mają różne typy węzłów, liczby węzłów i rozmiary węzłów:
- Domyślna wartość typu klastra hadoop:
Dwa węzły główne
Cztery węzły procesu roboczego
Jeśli po prostu próbujesz użyć usługi HDInsight, zalecamy użycie jednego węzła Procesu roboczego. Aby uzyskać więcej informacji na temat cennika usługi HDInsight, zobacz Cennik usługi HDInsight.
Uwaga
Limit rozmiaru klastra różni się w zależności od subskrypcji platformy Azure. Skontaktuj się z pomocą techniczną dotyczącą rozliczeń platformy Azure, aby zwiększyć limit.
W przypadku konfigurowania klastra za pomocą witryny Azure Portal rozmiar węzła jest dostępny za pośrednictwem karty Konfiguracja i cennik . W portalu można również zobaczyć koszt skojarzony z różnymi rozmiarami węzłów.
Rozmiary maszyn wirtualnych
Podczas wdrażania klastrów wybierz zasoby obliczeniowe na podstawie rozwiązania, które planujesz wdrożyć. Następujące maszyny wirtualne są używane w klastrach usługi HDInsight:
- Maszyny wirtualne serii A i D1-4: rozmiary maszyn wirtualnych z systemem Linux ogólnego przeznaczenia
- Maszyna wirtualna z serii D11-14: rozmiary maszyn wirtualnych z systemem Linux zoptymalizowane pod kątem pamięci
Aby dowiedzieć się, jakiej wartości należy użyć do określenia rozmiaru maszyny wirtualnej podczas tworzenia klastra przy użyciu różnych zestawów SDK lub podczas korzystania z programu Azure PowerShell, zobacz Rozmiary maszyn wirtualnych do użycia w klastrach usługi HDInsight. W tym połączonym artykule użyj wartości w kolumnie Size (Rozmiar ) tabel.
Ważne
Jeśli potrzebujesz więcej niż 32 węzłów roboczych w klastrze, musisz wybrać rozmiar węzła głównego z co najmniej 8 rdzeniami i 14 GB pamięci RAM.
Aby uzyskać więcej informacji, zobacz Rozmiary maszyn wirtualnych. Aby uzyskać informacje o cenach różnych rozmiarów, zobacz Cennik usługi HDInsight.
Załącznik dysku
Uwaga
Dodane dyski są konfigurowane tylko dla katalogów lokalnych menedżera węzłów, a nie katalogów węzłów danych
Klaster usługi HDInsight zawiera wstępnie zdefiniowane miejsce na dysku na podstawie jednostki SKU. Jeśli uruchamiasz niektóre duże aplikacje, może prowadzić do niewystarczającej ilości miejsca na dysku z pełnym błędem dysku — LinkId=221672#ERROR_NOT_ENOUGH_DISK_SPACE
i niepowodzeniami zadań.
Więcej dysków można dodać do klastra przy użyciu nowego katalogu lokalnego NodeManager. W momencie tworzenia klastra Hive i Spark można wybrać i dodać do węzłów procesu roboczego liczbę dysków. Wybrany dysk, który będzie miał rozmiar 1 TB każdy, będzie częścią katalogów lokalnych NodeManager.
- Na karcie Konfiguracja i cennik
- Wybierz opcję Włącz dysk zarządzany
- W obszarze Dyski w warstwie Standardowa wprowadź liczbę dysków
- Wybieranie węzła Procesu roboczego
Liczbę dysków można sprawdzić na karcie Przeglądanie i tworzenie w obszarze Konfiguracja klastra
Dodawanie aplikacji
Aplikacja usługi HDInsight to aplikacja, którą użytkownicy mogą zainstalować w klastrze usługi HDInsight opartym na systemie Linux. Możesz używać aplikacji udostępnianych przez firmę Microsoft, inne firmy lub opracowywane przez Ciebie. Aby uzyskać więcej informacji, zobacz Instalowanie aplikacji Apache Hadoop innych firm w usłudze Azure HDInsight.
Większość aplikacji usługi HDInsight jest instalowana w pustym węźle brzegowym. Pusty węzeł brzegowy to maszyna wirtualna z systemem Linux z zainstalowanymi i skonfigurowanymi tymi samymi narzędziami klienckimi, co w węźle głównym. Możesz użyć węzła brzegowego do uzyskania dostępu do klastra, testowania aplikacji klienckich i hostowania aplikacji klienckich. Aby uzyskać więcej informacji, zobacz Używanie pustych węzłów brzegowych w usłudze HDInsight.
Działania skryptu
Dodatkowe składniki można zainstalować lub dostosować konfigurację klastra przy użyciu skryptów podczas tworzenia. Takie skrypty są wywoływane za pomocą akcji skryptu, która jest opcją konfiguracji, która może być używana z poziomu witryny Azure Portal, poleceń cmdlet programu Windows PowerShell usługi HDInsight lub zestawu .NET SDK usługi HDInsight. Aby uzyskać więcej informacji, zobacz Dostosowywanie klastra usługi HDInsight przy użyciu akcji skryptu.
Niektóre natywne składniki języka Java, takie jak Apache Mahout i Cascading, mogą być uruchamiane w klastrze jako pliki Jar (Java Archive). Te pliki JAR można rozpowszechniać w usłudze Azure Storage i przesyłać do klastrów usługi HDInsight przy użyciu mechanizmów przesyłania zadań usługi Hadoop. Aby uzyskać więcej informacji, zobacz Programowe przesyłanie zadań apache Hadoop.
Uwaga
Jeśli masz problemy z wdrażaniem plików JAR w klastrach usługi HDInsight lub wywoływaniem plików JAR w klastrach usługi HDInsight, skontaktuj się z pomoc techniczna firmy Microsoft.
Kaskadowe nie jest obsługiwane przez usługę HDInsight i nie kwalifikuje się do pomoc techniczna firmy Microsoft. Aby uzyskać listę obsługiwanych składników, zobacz Co nowego w wersjach klastra udostępnianych przez usługę HDInsight.
Czasami należy skonfigurować następujące pliki konfiguracji podczas procesu tworzenia:
- clusterIdentity.xml
- core-site.xml
- gateway.xml
- hbase-env.xml
- hbase-site.xml
- hdfs-site.xml
- hive-env.xml
- hive-site.xml
- mapred-site
- oozie-site.xml
- oozie-env.xml
- tez-site.xml
- webhcat-site.xml
- yarn-site.xml
Aby uzyskać więcej informacji, zobacz Dostosowywanie klastrów usługi HDInsight przy użyciu narzędzia Bootstrap.