Udostępnij za pośrednictwem


Migrowanie lokalnych klastrów Apache Hadoop do usługi Azure HDInsight — najlepsze rozwiązania dotyczące infrastruktury

Ten artykuł zawiera zalecenia dotyczące zarządzania infrastrukturą klastrów usługi Azure HDInsight. Jest to część serii, która zawiera najlepsze rozwiązania ułatwiające migrowanie lokalnych systemów Apache Hadoop do usługi Azure HDInsight.

Planowanie pojemności klastra usługi HDInsight

Kluczowe opcje planowania pojemności klastra usługi HDInsight są następujące:

Region
Region platformy Azure określa, gdzie klaster jest fizycznie aprowizowany. Aby zminimalizować opóźnienie operacji odczytu i zapisu, klaster powinien znajdować się w tym samym regionie co dane.

Lokalizacja i rozmiar magazynu
Domyślny magazyn musi znajdować się w tym samym regionie co klaster. W przypadku klastra 48 węzłów zaleca się posiadanie od 4 do 8 kont magazynu. Chociaż może już być wystarczająca łączna ilość miejsca do magazynowania, każde konto magazynu zapewnia dodatkową przepustowość sieci dla węzłów obliczeniowych. Jeśli istnieje wiele kont magazynu, użyj losowej nazwy dla każdego konta magazynu bez prefiksu. Celem losowego nazewnictwa jest zmniejszenie prawdopodobieństwa wąskich gardeł magazynu (ograniczania przepustowości) lub typowych awarii na wszystkich kontach. Aby uzyskać lepszą wydajność, użyj tylko jednego kontenera na konto magazynu.

Rozmiar i typ maszyny wirtualnej (teraz obsługuje serię G)
Każdy typ klastra ma zestaw typów węzłów, a każdy typ węzła ma określone opcje dotyczące rozmiaru i typu maszyny wirtualnej. Rozmiar i typ maszyny wirtualnej są określane przez moc obliczeniową procesora CPU, rozmiar pamięci RAM i opóźnienie sieci. Symulowane obciążenie może służyć do określania optymalnego rozmiaru i typu maszyny wirtualnej dla każdego typu węzłów.

Liczba węzłów procesu roboczego
Początkową liczbę węzłów procesu roboczego można określić przy użyciu symulowanych obciążeń. Klaster można skalować później, dodając więcej węzłów roboczych w celu spełnienia szczytowych wymagań dotyczących obciążenia. Klaster można później skalować z powrotem, gdy dodatkowe węzły robocze nie są wymagane.

Aby uzyskać więcej informacji, zobacz artykuł Planowanie pojemności klastrów usługi HDInsight.

Zobacz Domyślna konfiguracja węzła i rozmiary maszyn wirtualnych dla klastrów dla zalecanych typów maszyn wirtualnych dla każdego typu klastra usługi HDInsight.

Sprawdzanie dostępności składników usługi Hadoop w usłudze HDInsight

Każda wersja usługi HDInsight to dystrybucja chmury zestawu składników systemu ekologicznego platformy Hadoop. Aby uzyskać szczegółowe informacje na temat wszystkich składników usługi HDInsight i ich bieżących wersji, zobacz Przechowywanie wersji składników usługi HDInsight.

Możesz również użyć interfejsu użytkownika systemu Apache Ambari lub interfejsu API REST systemu Ambari, aby sprawdzić składniki i wersje usługi Hadoop w usłudze HDInsight.

Aplikacje lub składniki, które były dostępne w klastrach lokalnych, ale nie są częścią klastrów usługi HDInsight, można dodać w węźle brzegowym lub na maszynie wirtualnej w tej samej sieci wirtualnej co klaster usługi HDInsight. Aplikację hadoop innej firmy, która nie jest dostępna w usłudze Azure HDInsight, można zainstalować przy użyciu opcji "Aplikacje" w klastrze usługi HDInsight. Niestandardowe aplikacje Hadoop można instalować w klastrze usługi HDInsight przy użyciu "akcji skryptu". W poniższej tabeli wymieniono niektóre typowe aplikacje i ich opcje integracji z usługą HDInsight:

Aplikacja Integracja aplikacji
Airflow Węzeł brzegowy usługi IaaS lub HDInsight
Alluxio Iaas
Arcadia Iaas
Atlas Brak (tylko HDP)
Datameer Węzeł brzegowy usługi HDInsight
Datastax (Cassandra) IaaS (Azure Cosmos DB to alternatywa na platformie Azure)
Data (Data) Iaas
Przechodzenie do szczegółów Iaas
Ignite Iaas
Jethro Iaas
Mapador Iaas
MongoDB IaaS (Azure Cosmos DB to alternatywa na platformie Azure)
NiFi Iaas
Presto Węzeł brzegowy usługi IaaS lub HDInsight
Python 2 Paas
Python 3 Paas
R Paas
SAS Iaas
Vertica IaaS (SQLDW to alternatywa na platformie Azure)
Tableau Iaas
Wodnej Węzeł brzegowy usługi HDInsight
StreamSets Usługa HDInsight Edge
Palantir Iaas
SailPoint Iaas

Aby uzyskać więcej informacji, zobacz artykuł Składniki platformy Apache Hadoop dostępne w różnych wersjach usługi HDInsight

Dostosowywanie klastrów usługi HDInsight przy użyciu akcji skryptu

Usługa HDInsight udostępnia metodę konfiguracji klastra nazywaną akcją skryptu. Akcja skryptu to skrypt powłoki Bash uruchamiany w węzłach w klastrze usługi HDInsight i może służyć do instalowania dodatkowych składników i zmieniania ustawień konfiguracji.

Akcje skryptu muszą być przechowywane w identyfikatorze URI dostępnym z klastra usługi HDInsight. Mogą być używane podczas tworzenia klastra lub po jego utworzeniu i mogą być również ograniczone do uruchamiania tylko w niektórych typach węzłów.

Skrypt może być utrwalany lub wykonywany jednorazowo. Utrwalone skrypty służą do dostosowywania nowych węzłów roboczych dodanych do klastra za pomocą operacji skalowania. Utrwalone skrypty mogą również stosować zmiany do innego typu węzła, takiego jak węzeł główny, podczas wykonywania operacji skalowania.

Usługa HDInsight udostępnia wstępnie napisane skrypty umożliwiające zainstalowanie następujących składników w klastrach usługi HDInsight:

  • Dodawanie konta usługi Azure Storage
  • Instalowanie rozwiązania Hue
  • Instalowanie programu Presto
  • Instalowanie rozwiązania Solr
  • Instalowanie systemu Giraph
  • Wstępne ładowanie bibliotek Hive
  • Instalowanie lub aktualizowanie środowiska Mono

Uwaga

Usługa HDInsight nie zapewnia bezpośredniej obsługi niestandardowych składników hadoop ani składników zainstalowanych przy użyciu akcji skryptu.

Akcje skryptu można również opublikować w witrynie Azure Marketplace jako aplikację usługi HDInsight.

Aby uzyskać więcej informacji, zobacz następujące artykuły:

Dostosowywanie konfiguracji usługi HDInsight przy użyciu narzędzia Bootstrap

Zmiany konfiguracji w plikach konfiguracji, takich jak core-site.xml, hive-site.xml i oozie-env.xml można wprowadzać przy użyciu narzędzia Bootstrap. Poniższy skrypt jest przykładem użycia polecenia cmdlet modułu AZ programu PowerShell New-AzHDInsightClusterConfig:

# hive-site.xml configuration
$hiveConfigValues = @{"hive.metastore.client.socket.timeout"="90"}

$config = New—AzHDInsightClusterConfig '
    | Set—AzHDInsightDefaultStorage
    —StorageAccountName "$defaultStorageAccountName.blob. core.windows.net" `
    —StorageAccountKey "defaultStorageAccountKey " `
    | Add—AzHDInsightConfigValues `
        —HiveSite $hiveConfigValues

New—AzHDInsightCluster `
    —ResourceGroupName $existingResourceGroupName `
    —Cluster-Name $clusterName `
    —Location $location `
    —ClusterSizeInNodes $clusterSizeInNodes `
    —ClusterType Hadoop `
    —OSType Linux `
    —Version "3.6" `
    —HttpCredential $httpCredential `
    —Config $config

Aby uzyskać więcej informacji, zobacz artykuł Dostosowywanie klastrów usługi HDInsight przy użyciu narzędzia Bootstrap. Zobacz również Zarządzanie klastrami usługi HDInsight przy użyciu interfejsu API REST apache Ambari.

Uzyskiwanie dostępu do narzędzi klienckich z węzłów brzegowych klastra hadoop w usłudze HDInsight

Pusty węzeł brzegowy to maszyna wirtualna z systemem Linux z zainstalowanymi i skonfigurowanymi tymi samymi narzędziami klienckimi co w węzłach głównych, ale bez uruchomionych usług Hadoop. Węzeł krawędzi może służyć do następujących celów:

  • uzyskiwanie dostępu do klastra
  • testowanie aplikacji klienckich
  • hostowanie aplikacji klienckich

Węzły brzegowe można tworzyć i usuwać za pośrednictwem witryny Azure Portal i mogą być używane podczas tworzenia klastra lub po jego utworzeniu. Po utworzeniu węzła brzegowego można nawiązać połączenie z węzłem brzegowym przy użyciu protokołu SSH i uruchomić narzędzia klienckie w celu uzyskania dostępu do klastra Hadoop w usłudze HDInsight. Punkt końcowy SSH węzła krawędzi to <EdgeNodeName>.<ClusterName>-ssh.azurehdinsight.net:22.

Aby uzyskać więcej informacji, zobacz artykuł Use empty edge nodes on Apache Hadoop clusters in HDInsight (Używanie pustych węzłów brzegowych w klastrach Apache Hadoop w usłudze HDInsight).

Używanie funkcji skalowania w górę i w dół klastrów

Usługa HDInsight zapewnia elastyczność dzięki możliwości skalowania w górę i skalowania w dół liczby węzłów roboczych w klastrach. Ta funkcja pozwala zmniejszyć klaster po godzinach lub w weekendy i rozwinąć go w szczytowych wymaganiach biznesowych. Aby uzyskać więcej informacji, zobacz:

Używanie usługi HDInsight z usługą Azure Virtual Network

Sieci wirtualne platformy Azure umożliwiają zasobom platformy Azure, takim jak usługa Azure Virtual Machines, bezpieczne komunikowanie się ze sobą, internetem i sieciami lokalnymi przez filtrowanie i routing ruchu sieciowego.

Korzystanie z usługi Azure Virtual Network z usługą HDInsight umożliwia wykonanie następujących scenariuszy:

  • Połączenie do usługi HDInsight bezpośrednio z sieci lokalnej.
  • Połączenie usługi HDInsight do magazynów danych w sieci wirtualnej platformy Azure.
  • Bezpośredni dostęp do usług Hadoop, które nie są dostępne publicznie za pośrednictwem Internetu. Na przykład interfejsy API platformy Kafka lub interfejs API języka Java bazy danych HBase.

Usługę HDInsight można dodać do nowej lub istniejącej sieci wirtualnej platformy Azure. Jeśli usługa HDInsight jest dodawana do istniejącej sieci wirtualnej, należy zaktualizować istniejące sieciowe grupy zabezpieczeń i trasy zdefiniowane przez użytkownika, aby umożliwić nieograniczony dostęp do kilku adresów IP w centrum danych platformy Azure. Pamiętaj również, aby nie blokować ruchu do portów, które są używane przez usługi HDInsight.

Uwaga

Usługa HDInsight nie obsługuje obecnie wymuszonego tunelowania. Wymuszone tunelowanie to ustawienie podsieci, które wymusza wychodzący ruch internetowy do urządzenia w celu przeprowadzenia inspekcji i rejestrowania. Usuń wymuszone tunelowanie przed zainstalowaniem usługi HDInsight w podsieci lub utwórz nową podsieć dla usługi HDInsight. Usługa HDInsight nie obsługuje również ograniczania wychodzącej łączności sieciowej.

Aby uzyskać więcej informacji, zobacz następujące artykuły:

Bezpieczne łączenie z usługami platformy Azure za pomocą punktów końcowych usługi Azure Virtual Network

Usługa HDInsight obsługuje punkty końcowe usługi sieci wirtualnej, które umożliwiają bezpieczne łączenie się z usługami Azure Blob Storage, Azure Data Lake Storage Gen2, Azure Cosmos DB i SQL Database. Po włączeniu punktu końcowego usługi dla usługi Azure HDInsight ruch przepływa przez zabezpieczoną trasę z poziomu centrum danych platformy Azure. Dzięki temu zwiększonemu poziomowi zabezpieczeń w warstwie sieciowej można zablokować konta magazynu danych big data do określonych sieci wirtualnych i nadal bezproblemowo korzystać z klastrów usługi HDInsight w celu uzyskiwania dostępu do tych danych i ich przetwarzania.

Aby uzyskać więcej informacji, zobacz następujące artykuły:

Połączenie usługi HDInsight do sieci lokalnej

Usługę HDInsight można połączyć z siecią lokalną przy użyciu sieci wirtualnych platformy Azure i bramy sieci VPN. Następujące kroki mogą służyć do nawiązywania łączności:

  • Użyj usługi HDInsight w sieci wirtualnej platformy Azure, która ma łączność z siecią lokalną.
  • Skonfiguruj rozpoznawanie nazw DNS między siecią wirtualną a siecią lokalną.
  • Skonfiguruj sieciowe grupy zabezpieczeń lub trasy zdefiniowane przez użytkownika w celu kontrolowania ruchu sieciowego.

Aby uzyskać więcej informacji, zobacz artykuł Połączenie hdInsight w sieci lokalnej

Następne kroki

Przeczytaj następny artykuł z tej serii: Najlepsze rozwiązania dotyczące magazynu dla środowiska lokalnego do migracji do usługi Azure HDInsight Hadoop.