Korzystanie z zewnętrznych magazynów metadanych w usłudze Azure HDInsight

Ważne

Domyślny magazyn metadanych udostępnia usługę Azure SQL Database w warstwie Podstawowa z maksymalnym rozmiarem danych 5 DTU i 2 GB (NIE MOŻNA UAKTUALNIĆ)! Należy go używać tylko do celów kontroli jakości i testowania. W przypadku obciążeń produkcyjnych lub dużych zalecamy migrację do zewnętrznego magazynu metadanych!

Usługa HDInsight umożliwia przejęcie kontroli nad danymi i metadanymi za pomocą zewnętrznych magazynów danych. Ta funkcja jest dostępna dla magazynu metadanych Apache Hive, magazynu metadanych Apache Oozie i bazy danych Apache Ambari.

Magazyn metadanych Apache Hive w usłudze HDInsight jest istotną częścią architektury Apache Hadoop. Magazyn metadanych to centralne repozytorium schematów. Magazyn metadanych jest używany przez inne narzędzia dostępu do danych big data, takie jak Apache Spark, Interactive Query (LLAP), Presto lub Apache Pig. Usługa HDInsight używa usługi Azure SQL Database jako magazynu metadanych Hive.

HDInsight Hive Metadata Store Architecture.

Istnieją dwa sposoby konfigurowania magazynu metadanych dla klastrów usługi HDInsight:

Domyślny magazyn metadanych

Domyślnie usługa HDInsight tworzy magazyn metadanych z każdym typem klastra. Zamiast tego można określić niestandardowy magazyn metadanych. Domyślny magazyn metadanych obejmuje następujące zagadnienia:

  • Ograniczone zasoby. Zobacz powiadomienie w górnej części strony.

  • Brak dodatkowych kosztów. Usługa HDInsight tworzy magazyn metadanych z każdym typem klastra bez dodatkowych kosztów.

  • Domyślny magazyn metadanych jest częścią cyklu życia klastra. Usunięcie klastra spowoduje również usunięcie odpowiedniego magazynu metadanych i metadanych.

  • Domyślny magazyn metadanych jest zalecany tylko w przypadku prostych obciążeń. Obciążenia, które nie wymagają wielu klastrów i nie wymagają metadanych zachowanych poza cyklem życia klastra.

  • Domyślny magazyn metadanych nie może być udostępniany innym klastrom.

Niestandardowy magazyn metadanych

Usługa HDInsight obsługuje również niestandardowe magazyny metadanych, które są zalecane w przypadku klastrów produkcyjnych:

  • Jako magazyn metadanych należy określić własną bazę danych Azure SQL Database .

  • Cykl życia magazynu metadanych nie jest powiązany z cyklem życia klastrów, więc można tworzyć i usuwać klastry bez utraty metadanych. Metadane, takie jak schematy hive, będą utrwalane nawet po usunięciu i ponownym utworzeniu klastra usługi HDInsight.

  • Niestandardowy magazyn metadanych umożliwia dołączenie wielu klastrów i typów klastrów do tego magazynu metadanych. Na przykład pojedynczy magazyn metadanych może być współużytkowany w klastrach Interactive Query, Hive i Spark w usłudze HDInsight.

  • Płacisz za koszt magazynu metadanych (Azure SQL Database) zgodnie z wybranym poziomem wydajności.

  • Magazyn metadanych można skalować w górę zgodnie z potrzebami.

  • Klaster i zewnętrzny magazyn metadanych muszą być hostowane w tym samym regionie.

HDInsight Hive Metadata Store Use Case.

Tworzenie i konfigurowanie usługi Azure SQL Database dla niestandardowego magazynu metadanych

Utwórz lub utwórz istniejącą usługę Azure SQL Database przed skonfigurowaniem niestandardowego magazynu metadanych Hive dla klastra usługi HDInsight. Aby uzyskać więcej informacji, zobacz Szybki start: tworzenie pojedynczej bazy danych w usłudze Azure SQL Database.

Podczas tworzenia klastra usługa HDInsight musi nawiązać połączenie z zewnętrznym magazynem metadanych i zweryfikować poświadczenia. Skonfiguruj reguły zapory usługi Azure SQL Database, aby zezwolić usługom i zasobom platformy Azure na dostęp do serwera. Włącz tę opcję w witrynie Azure Portal, wybierając pozycję Ustaw zaporę serwera. Następnie wybierz pozycję Nie poniżej pozycji Odmów dostępu do sieci publicznej i pozycję Tak poniżej pozycji Zezwalaj usługom i zasobom platformy Azure na dostęp do tego serwera dla usługi Azure SQL Database. Aby uzyskać więcej informacji, zobacz Tworzenie reguł zapory adresów IP i zarządzanie nimi

Prywatne punkty końcowe dla magazynów SQL są obsługiwane tylko w klastrach utworzonych za pomocą outbound usługi ResourceProvider Połączenie ion. Aby dowiedzieć się więcej, zobacz tę dokumentację.

set server firewall button.

allow azure services access.

Wybieranie niestandardowego magazynu metadanych podczas tworzenia klastra

Klaster można wskazać wcześniej utworzonej usłudze Azure SQL Database w dowolnym momencie. W przypadku tworzenia klastra za pośrednictwem portalu opcja jest określana z ustawień magazynu metadanych magazynu>.

HDInsight Hive Metadata Store Azure portal.

Wskazówki dotyczące magazynu metadanych Apache Hive

Uwaga

Użyj niestandardowego magazynu metadanych, jeśli to możliwe, aby ułatwić oddzielenie zasobów obliczeniowych (uruchomionego klastra) i metadanych (przechowywanych w magazynie metadanych). Zacznij od warstwy S2, która zapewnia 50 jednostek DTU i 250 GB miejsca do magazynowania. Jeśli widzisz wąskie gardło, możesz skalować bazę danych w górę.

  • Jeśli zamierzasz uzyskać dostęp do oddzielnych danych w wielu klastrach usługi HDInsight, użyj oddzielnej bazy danych dla magazynu metadanych w każdym klastrze. Jeśli udostępniasz magazyn metadanych w wielu klastrach usługi HDInsight, oznacza to, że klastry używają tych samych metadanych i podstawowych plików danych użytkownika.

  • Okresowo należy utworzyć kopię zapasową niestandardowego magazynu metadanych. Usługa Azure SQL Database automatycznie generuje kopie zapasowe, ale przedział czasu przechowywania kopii zapasowych jest różny. Aby uzyskać więcej informacji, zobacz Więcej informacji na temat automatycznego wykonywania kopii zapasowych bazy danych SQL.

  • Znajdź magazyn metadanych i klaster usługi HDInsight w tym samym regionie. Ta konfiguracja zapewni najwyższą wydajność i najniższe opłaty za ruch wychodzący sieci.

  • Monitoruj magazyn metadanych pod kątem wydajności i dostępności przy użyciu narzędzi do monitorowania usługi Azure SQL Database lub dzienników usługi Azure Monitor.

  • Po utworzeniu nowej, wyższej wersji usługi Azure HDInsight dla istniejącej niestandardowej bazy danych magazynu metadanych system uaktualnia schemat magazynu metadanych. Uaktualnienie jest nieodwracalne bez przywracania bazy danych z kopii zapasowej.

  • Jeśli udostępniasz magazyn metadanych w wielu klastrach, upewnij się, że wszystkie klastry są tą samą wersją usługi HDInsight. Różne wersje programu Hive używają różnych schematów bazy danych magazynu metadanych. Na przykład nie można udostępniać magazynu metadanych w klastrach Hive 2.1 i Hive 3.1.

  • W usłudze HDInsight 4.0 platforma Spark i hive używają niezależnych katalogów do uzyskiwania dostępu do tabel SparkSQL lub Hive. Tabela utworzona przez platformę Spark znajduje się w wykazie platformy Spark. Tabela utworzona przez program Hive znajduje się w katalogu Hive. To zachowanie różni się od usługi HDInsight 3.6, w której usługi Hive i Spark współużytkują wspólny wykaz. Integracja programu Hive i platformy Spark w usłudze HDInsight 4.0 opiera się na usłudze Hive Warehouse Połączenie or (HWC). HWC działa jako most między platformą Spark i usługą Hive. Dowiedz się więcej o usłudze Hive Warehouse Połączenie or.

  • W usłudze HDInsight 4.0, jeśli chcesz udostępnić magazyn metadanych między usługą Hive i platformą Spark, możesz to zrobić, zmieniając właściwość metastore.catalog.default na gałąź w klastrze Spark. Tę właściwość można znaleźć w artykule Ambari Advanced spark2-hive-site-override. Ważne jest, aby zrozumieć, że udostępnianie magazynu metadanych działa tylko w przypadku tabel zewnętrznych gałęzi, nie będzie to działać, jeśli istnieją wewnętrzne/zarządzane tabele hive lub tabele ACID.

Aktualizowanie niestandardowego hasła magazynu metadanych Hive

W przypadku korzystania z niestandardowej bazy danych magazynu metadanych Hive możesz zmienić hasło bazy danych SQL. Jeśli zmienisz hasło niestandardowego magazynu metadanych, usługi Hive nie będą działać, dopóki nie zaktualizujesz hasła w klastrze usługi HDInsight.

Aby zaktualizować hasło magazynu metadanych Hive:

  1. Otwórz interfejs użytkownika systemu Ambari.
  2. Kliknij pozycję Usługi --> Hive --> Configs --> Database.
  3. Zaktualizuj pola Hasło bazy danych do nowego hasła bazy danych programu SQL Server.
  4. Kliknij przycisk Testuj Połączenie ion, aby upewnić się, że nowe hasło działa.
  5. Kliknij przycisk Zapisz.
  6. Postępuj zgodnie z monitami systemu Ambari, aby zapisać konfigurację i ponownie uruchomić wymagane usługi.

Magazyn metadanych Apache Oozie

Apache Oozie to system koordynacji przepływu pracy, który zarządza zadaniami na platformie Hadoop. Usługa Oozie obsługuje zadania platformy Hadoop dla systemów Apache MapReduce, Pig, Hive i innych. Oozie używa magazynu metadanych do przechowywania szczegółowych informacji o przepływach pracy. Aby zwiększyć wydajność podczas korzystania z usługi Oozie, możesz użyć usługi Azure SQL Database jako niestandardowego magazynu metadanych. Magazyn metadanych zapewnia dostęp do danych zadania Oozie po usunięciu klastra.

Aby uzyskać instrukcje dotyczące tworzenia magazynu metadanych Oozie za pomocą usługi Azure SQL Database, zobacz Use Apache Oozie for workflows (Korzystanie z usługi Apache Oozie dla przepływów pracy).

Aktualizowanie niestandardowego hasła magazynu metadanych Oozie

W przypadku korzystania z niestandardowej bazy danych magazynu metadanych Oozie można zmienić hasło bazy danych SQL. Jeśli zmienisz hasło niestandardowego magazynu metadanych, usługi Oozie nie będą działać, dopóki nie zaktualizujesz hasła w klastrze usługi HDInsight.

Aby zaktualizować hasło magazynu metadanych Oozie:

  1. Otwórz interfejs użytkownika systemu Ambari.
  2. Kliknij pozycję Usługi --> Oozie --> Configs --> Database.
  3. Zaktualizuj pola Hasło bazy danych do nowego hasła bazy danych programu SQL Server.
  4. Kliknij przycisk Testuj Połączenie ion, aby upewnić się, że nowe hasło działa.
  5. Kliknij przycisk Zapisz.
  6. Postępuj zgodnie z monitami systemu Ambari, aby zapisać konfigurację i ponownie uruchomić wymagane usługi.

Niestandardowa baza danych Ambari

Aby użyć własnej zewnętrznej bazy danych z rozwiązaniem Apache Ambari w usłudze HDInsight, zobacz Niestandardowa baza danych Apache Ambari.

Następne kroki