Migrace místních clusterů Apache Hadoop do Azure HDInsight – Osvědčené postupy pro architekturu
Tento článek obsahuje doporučení pro architekturu systémů Azure HDInsight. Je součástí série, která poskytuje osvědčené postupy, které vám pomůžou s migrací místních systémů Apache Hadoop do Azure HDInsight.
Použití několika clusterů optimalizovaných pro úlohy
Mnoho místních nasazení Apache Hadoopu se skládá z jednoho velkého clusteru, který podporuje mnoho úloh. Tento jediný cluster může být složitý a může vyžadovat ohrožení jednotlivých služeb, aby vše fungovalo společně. Migrace místních clusterů Hadoop do služby Azure HDInsight vyžaduje změnu přístupu.
Clustery Azure HDInsight jsou navržené pro konkrétní typ využití výpočetních prostředků. Vzhledem k tomu, že úložiště je možné sdílet napříč několika clustery, je možné vytvořit několik výpočetních clusterů optimalizovaných pro úlohy tak, aby vyhovovaly potřebám různých úloh. Každý typ clusteru má optimální konfiguraci pro danou konkrétní úlohu. Následující tabulka uvádí podporované typy clusterů ve službě HDInsight a odpovídající úlohy.
Úloha | Typ clusteru HDInsight |
---|---|
Dávkové zpracování (ETL / ELT) | Hadoop, Spark |
Datové sklady | Hadoop, Spark, Interactive Query |
IoT / Streamování | Kafka, Spark |
Transakční zpracování NoSQL | HBase |
Interaktivní a rychlejší dotazy s ukládáním do mezipaměti v paměti | Interaktivní dotaz |
Datové vědy | Spark |
Následující tabulka uvádí různé metody, které lze použít k vytvoření clusteru HDInsight.
Nástroj | Na základě prohlížeče | Příkazový řádek | REST API | Sada SDK |
---|---|---|---|---|
Azure Portal | × | |||
Azure Data Factory | × | × | × | × |
Azure CLI (verze 1.0) | × | |||
Azure PowerShell | × | |||
cURL | × | × | ||
.NET SDK | × | |||
Python SDK | × | |||
Java SDK | × | |||
Šablony Azure Resource Manageru | × |
Další informace najdete v článku Typy clusterů ve službě HDInsight.
Použití přechodných clusterů na vyžádání
Clustery HDInsight se můžou po dlouhou dobu nepoužít. V zájmu úspory nákladů na prostředky podporuje HDInsight přechodné clustery na vyžádání, které je možné po úspěšném dokončení úlohy odstranit.
Když odstraníte cluster, přidružený účet úložiště a externí metadata se neodeberou. Cluster je možné později znovu vytvořit pomocí stejných účtů úložiště a metaskladů.
Azure Data Factory lze použít k naplánování vytváření clusterů HDInsight na vyžádání. Další informace najdete v článku Vytváření clusterů Apache Hadoop na vyžádání ve službě HDInsight pomocí Azure Data Factory.
Oddělení úložiště od výpočetních prostředků
Typická místní nasazení Hadoopu používají stejnou sadu počítačů pro ukládání dat a zpracování dat. Vzhledem k tomu, že jsou společně umístěné, musí se výpočetní prostředky a úložiště škálovat společně.
V clusterech HDInsight nemusí být úložiště umístěné společně s výpočetními prostředky a může být buď ve službě Azure Storage, Azure Data Lake Storage nebo v obou. Oddělení úložiště od výpočetních prostředků má následující výhody:
- Sdílení dat mezi clustery.
- Použití přechodných clusterů, protože data nejsou závislá na clusteru.
- Nižší náklady na úložiště.
- Škálování úložiště a výpočetních prostředků odděleně.
- Replikace dat napříč oblastmi.
Výpočetní clustery se vytvářejí v blízkosti prostředků účtu úložiště v oblasti Azure, aby se snížily náklady na výkon při oddělení výpočetních prostředků od úložiště. Vysokorychlostní sítě umožňují efektivní přístup výpočetních uzlů k datům v úložišti Azure.
Použití externích úložišť metadat
Existují dva hlavní metastory, které pracují s clustery HDInsight: Apache Hive a Apache Oozie. Metastore Hive je centrální úložiště schémat, které můžou používat moduly pro zpracování dat, jako jsou Hadoop, Spark, LLAP, Presto a Apache Pig. Metastore Oozie ukládá podrobnosti o plánování a stavu probíhajících a dokončených úloh Hadoop.
HDInsight používá Azure SQL Database pro metastory Hive a Oozie. Existují dva způsoby nastavení metastoru v clusterech HDInsight:
Výchozí metastore
- Žádné další náklady.
- Metastore se odstraní při odstranění clusteru.
- Metastore není možné sdílet mezi různými clustery.
- Používá základní Azure SQL DATABÁZE, která má limit pěti DTU.
Vlastní externí metastore
- Jako metastore zadejte externí Azure SQL Database.
- Clustery je možné vytvářet a odstraňovat bez ztráty metadat, včetně podrobností o úloze Oozie schématu Hive.
- Jednu databázi metastoru je možné sdílet s různými typy clusterů.
- Metastore je možné podle potřeby vertikálně navýšit.
- Další informace najdete v tématu Použití externích úložišť metadat ve službě Azure HDInsight.
Osvědčené postupy pro metastore Hive
Některé osvědčené postupy metastoru Hive pro HDInsight jsou následující:
- K oddělení výpočetních prostředků a metadat použijte vlastní externí metastore.
- Začněte s instancí Azure SQL úrovně S2, která poskytuje 50 DTU a 250 GB úložiště. Pokud se zobrazí kritický bod, můžete vertikálně navýšit kapacitu databáze.
- Nesdílejte metastore vytvořený pro jednu verzi clusteru HDInsight s clustery jiné verze. Různé verze Hivu používají různá schémata. Například metastore nelze sdílet s clustery Hive 1.2 a Hive 2.1.
- Pravidelně zálohujte vlastní metastore.
- Udržujte metastore a cluster HDInsight ve stejné oblasti.
- Monitorujte výkon a dostupnost metastoru pomocí nástrojů pro monitorování Azure SQL databází, jako jsou Azure Portal nebo protokoly služby Azure Monitor.
- Spuštěním příkazu podle
ANALYZE TABLE
potřeby vygenerujte statistiky pro tabulky a sloupce. Například,ANALYZE TABLE [table_name] COMPUTE STATISTICS
.
Osvědčené postupy pro různé úlohy
- Zvažte použití clusteru LLAP pro interaktivní dotazy Hive s vylepšenou dobou odezvy LLAP je nová funkce v Hivu 2.0, která umožňuje ukládání dotazů do mezipaměti v paměti.
- Místo úloh Hive zvažte použití úloh Sparku.
- Zvažte nahrazení dotazů založených na impala dotazy LLAP.
- Zvažte nahrazení úloh MapReduce úlohami Sparku.
- Zvažte nahrazení dávkových úloh Sparku s nízkou latencí pomocí úloh strukturovaného streamování Sparku.
- Zvažte použití Azure Data Factory (ADF) 2.0 k orchestraci dat.
- Zvažte Ambari pro správu clusteru.
- Změňte úložiště dat z místního HDFS na WASB, ADLS nebo ADFS pro zpracování skriptů.
- Zvažte použití Ranger RBAC pro tabulky Hive a auditování.
- Zvažte použití Cosmos DB místo MongoDB nebo Cassandry.
Další kroky
Přečtěte si další článek v této sérii: