Architektura platformy Apache Hadoop w usłudze HDInsight
Platforma Apache Hadoop zawiera dwa podstawowe składniki: rozproszony system plików Apache Hadoop (HDFS), który zapewnia magazyn, oraz apache Hadoop Yet Another Resource Negotiator (YARN), który zapewnia przetwarzanie. Dzięki możliwościom magazynowania i przetwarzania klaster może uruchamiać programy MapReduce w celu wykonania żądanego przetwarzania danych.
Uwaga
System plików HDFS nie jest zwykle wdrażany w klastrze usługi HDInsight w celu zapewnienia magazynu. Zamiast tego warstwa interfejsu zgodna z systemem plików HDFS jest używana przez składniki platformy Hadoop. Rzeczywista możliwość magazynowania jest zapewniana przez usługę Azure Storage lub Azure Data Lake Storage. W przypadku usługi Hadoop zadania MapReduce wykonywane w klastrze usługi HDInsight działają tak, jakby system plików HDFS był obecny i dlatego nie wymaga żadnych zmian w celu obsługi ich potrzeb związanych z magazynem. W usłudze Hadoop w usłudze HDInsight magazyn jest outsourced, ale przetwarzanie usługi YARN pozostaje podstawowym składnikiem. Aby uzyskać więcej informacji, zobacz Wprowadzenie do usługi Azure HDInsight.
W tym artykule przedstawiono usługę YARN i sposób koordynowania wykonywania aplikacji w usłudze HDInsight.
Podstawy usługi Apache Hadoop YARN
Usługa YARN zarządza i organizuje przetwarzanie danych w usłudze Hadoop. Usługa YARN ma dwa podstawowe usługi, które działają jako procesy w węzłach w klastrze:
- ResourceManager
- NodeManager
Menedżer zasobów przydziela zasoby obliczeniowe klastra aplikacjom, na przykład zadania MapReduce. Menedżer zasobów przyznaje te zasoby jako kontenery, w których każdy kontener składa się z alokacji rdzeni procesora CPU i pamięci RAM. W przypadku połączenia wszystkich zasobów dostępnych w klastrze, a następnie dystrybucji rdzeni i pamięci w blokach, każdy blok zasobów jest kontenerem. Każdy węzeł w klastrze ma pojemność dla określonej liczby kontenerów, dlatego klaster ma stały limit liczby dostępnych kontenerów. Przydzielanie zasobów w kontenerze można skonfigurować.
Gdy aplikacja MapReduce działa w klastrze, menedżer zasobów udostępnia aplikację kontenerom, w których mają zostać wykonane. Menedżer zasobów śledzi stan uruchomionych aplikacji, dostępnej pojemności klastra i śledzi aplikacje podczas ich wykonywania i wydawania zasobów.
Menedżer zasobów uruchamia również proces serwera internetowego, który udostępnia internetowy interfejs użytkownika do monitorowania stanu aplikacji.
Gdy użytkownik przesyła aplikację MapReduce do uruchomienia w klastrze, aplikacja jest przesyłana do menedżera zasobów. Z kolei menedżer zasobów przydziela kontener w dostępnych węzłach NodeManager. Węzły NodeManager to miejsce, w którym aplikacja rzeczywiście jest wykonywana. Pierwszy przydzielony kontener uruchamia specjalną aplikację o nazwie ApplicationMaster. Ten program ApplicationMaster jest odpowiedzialny za pozyskiwanie zasobów w postaci kolejnych kontenerów potrzebnych do uruchomienia przesłanej aplikacji. ApplicationMaster analizuje etapy aplikacji, takie jak etap mapy i etap redukcji, oraz czynniki dotyczące ilości danych, które należy przetworzyć. Następnie ApplicationMaster żąda (negocjuje) zasobów z usługi ResourceManager w imieniu aplikacji. Menedżer zasobów z kolei przyznaje zasoby z węzłaManagers w klastrze do klasy ApplicationMaster do użycia w wykonywaniu aplikacji.
Menedżerowie węzłów uruchamiają zadania tworzące aplikację, a następnie zgłaszają postęp i stan z powrotem do usługi ApplicationMaster. Usługa ApplicationMaster z kolei zgłasza stan aplikacji z powrotem do klasy ResourceManager. Menedżer zasobów zwraca wszystkie wyniki do klienta.
Usługa YARN w usłudze HDInsight
Wszystkie typy klastrów usługi HDInsight wdrażają usługę YARN. Menedżer zasobów jest wdrażany pod kątem wysokiej dostępności z wystąpieniem podstawowym i pomocniczym, które jest uruchamiane odpowiednio w pierwszych i drugich węzłach głównych w klastrze. Tylko jedno wystąpienie usługi ResourceManager jest aktywne w danym momencie. Wystąpienia nodeManager działają w węzłach dostępnych procesów roboczych w klastrze.
Usuwanie nietrwałe
Aby cofnąć usunięcie pliku z konta magazynu, zobacz:
Azure Storage
- Soft delete for Azure Storage blobs (Usuwanie nietrwałe dla obiektów blob usługi Azure Storage)
- Cofanie usunięcia obiektu blob
Azure Data Lake Storage Gen 1
Restore-AzDataLakeStoreDeletedItem
Azure Data Lake Storage Gen 2
Znane problemy z usługą Azure Data Lake Storage Gen2
Przeczyszczanie kosza
Właściwość fs.trash.interval
z hdFS>Advanced core-site powinna pozostać na wartości 0
domyślnej, ponieważ nie należy przechowywać żadnych danych w lokalnym systemie plików. Ta wartość nie ma wpływu na konta magazynu zdalnego (WASB, ADLS GEN1, ABFS)