Konfigurowanie klastrów w usłudze HDInsight przy użyciu technologii Apache Hadoop, Apache Spark, Apache Kafka i innych
Dowiedz się, jak skonfigurować i skonfigurować platformy Apache Hadoop, Apache Spark, Apache Kafka, Interactive Query lub 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 Integracja platformy 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 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 jest przeznaczony dla wszystkich 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 pojedynczego 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 rozwiązanie wymaga technologii rozmieszczonych w wielu typach klastrów usługi HDInsight, sieć wirtualna platformy Azure może połączyć wymagane typy klastrów.
Typ klastra | Funkcjonalność |
---|---|
Hadoop | Zapytanie wsadowe i analiza przechowywanych danych |
HBase | Przetwarzanie dużych ilości danych bez schematu, 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łanych strumieniowo w czasie rzeczywistym |
Spark | Przetwarzanie w pamięci, zapytania interakcyjne, 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
Dzięki klastrom 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 podstawowej konfiguracji w Azure Portal. Czasami jest to nazywane "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, użytkownicy, 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, console, david, guest, john, owner, root, sql, support, support_388945a0, sys, test2, test3, user4, user5, spark
Storage
Chociaż lokalna instalacja usługi Hadoop używa rozproszonego systemu plików Hadoop (HDFS) do magazynowania w klastrze, w chmurze używa się 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:
- Usługa Azure Data Lake Storage 2. generacji
- Usługa Azure Data Lake Storage 1. generacji
- Azure Storage Ogólnego przeznaczenia v2
- Azure Storage Ogólnego przeznaczenia v1
- Blokowy obiekt blob usługi Azure Storage (obsługiwany tylko jako magazyn pomocniczy)
Aby uzyskać więcej informacji na temat opcji magazynowania w usłudze HDInsight, zobacz Porównanie opcji magazynu do użycia z klastrami usługi Azure HDInsight.
Ostrzeżenie
Użycie 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 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 Data Lake Storage konta, 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, łą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żna dołączyć magazyn metadanych do innego klastra usługi HDInsight.
Nie można udostępnić magazynu metadanych usługi HDInsight utworzonego dla jednej wersji klastra usługi HDInsight 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 bazę danych Azure SQL 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 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
System Ambari służy do monitorowania klastrów usługi HDInsight, wprowadzania zmian konfiguracji i przechowywania informacji o zarządzaniu klastrem oraz historii zadań. Niestandardowa funkcja ambari DB 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 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ę bezpieczniejszej konfiguracji klastra przy użyciu platformy Apache Ranger i integracji z usługą Azure Active Directory. Aby uzyskać więcej informacji, zobacz Omówienie zabezpieczeń przedsiębiorstwa w usłudze Azure HDInsight.
Pakiet Enterprise Security 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 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 rozmieszczonych 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 dowolnym wdrażanemu 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 tak długo, jak istnieje klaster. Rozliczenia są uruchamiane po utworzeniu klastra i zatrzymaniu po usunięciu klastra. Klastry nie mogą zostać co najmniej przydzielone ani 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 dopiero próbujesz korzystać z usługi HDInsight, zalecamy użycie jednego węzła procesu roboczego. Aby uzyskać więcej informacji na temat cen 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ą Azure Portal rozmiar węzła jest dostępny za pomocą 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 dla klastrów usługi HDInsight:
- Maszyny wirtualne serii A i D1-4: rozmiary maszyn wirtualnych z systemem Linux ogólnego przeznaczenia
- Maszyna wirtualna 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 Azure PowerShell, zobacz Rozmiary maszyn wirtualnych do użycia w klastrach usługi HDInsight. W tym artykule połączonym 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 dla katalogów węzłów danych
Klaster usługi HDInsight zawiera wstępnie zdefiniowane miejsce na dysku na podstawie jednostki SKU. Uruchomienie niektórych dużych aplikacji 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. Podczas 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 + tworzenie w obszarze Konfiguracja klastra
Dodawanie aplikacji
Aplikacja usługi HDInsight to aplikacja, którą użytkownicy mogą instalować w klastrze usługi HDInsight opartym na systemie Linux. Możesz używać aplikacji udostępnianych przez firmę Microsoft, inne firmy lub opracowane 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ł krawędzi 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 uzyskiwania dostępu do klastra, testowania aplikacji klienckich i hostowania aplikacji klienckich. Aby uzyskać więcej informacji, zobacz Use empty edge nodes in HDInsight (Używanie pustych węzłów brzegowych w usłudze HDInsight).
Akcje 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 Azure Portal, usługi HDInsight Windows PowerShell poleceń cmdlet lub zestawu SDK platformy .NET usługi HDInsight. Aby uzyskać więcej informacji, zobacz Dostosowywanie klastra usługi HDInsight przy użyciu akcji skryptu.
Niektóre natywne składniki Java, takie jak Apache Mahout i Cascading, można uruchamiać 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 za pomocą 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.
Kaskada nie jest obsługiwana przez usługę HDInsight i nie kwalifikuje się do pomoc techniczna firmy Microsoft. Aby uzyskać listę obsługiwanych składników, zobacz What's new in the cluster versions provided by HDInsight (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.