Migrace Hadoopu z Cloudera Express na Apache Bigtop

V CZ.NIC používáme Hadoop převážně k ukládání provozu z našich autoritativních DNS serverů pro doménu .CZ a provozu z našich veřejných resolverů ODVR. Ke sběru dat používáme náš vlastní nástroj DNS Probe, který nasbíraná data odesílá na Hadoop servery. K tomuto účelu provozujeme vlastních 7 až 8 serverů s instalací Hadoopu a několika podpůrných nástrojů (Hive, Spark, Impala,…). Proces sběru dat DNS provozu je ilustrován na obrázku níže.

Doteď jsme využívali Cloudera Express, což byla zdarma dostupná distribuce Hadoopu dodávaná firmou Cloudera. Součástí této distribuce byly balíčky pro nejpoužívanější nástroje z ekosystému Hadoopu a specializované nástroje, jako Cloudera Manager, pro snadné nasazení, konfiguraci a monitorování Hadoopu. 1. února tohoto roku společnost Cloudera přestala tuto zdarma dostupnou distribuci nabízet a dále podporuje pouze svoji placenou distribuci Cloudera Enterprise. My jsme se přibližně v tomto období připravovali vyměnit naše staré Hadoop servery za nový hardware, a tak jsme začali zkoumat alternativní možnosti nasazení Hadoopu s preferencí pro otevřená a volně dostupná řešení.

Pro nasazení a provoz Hadoopu na našich nových serverech jsme nakonec zvažovali tyto tři možnosti:

Vítězem našeho porovnání se stal Apache Bigtop, který nabízí linuxové balíčky pro všechny námi používané Hadoop komponenty kromě Apache Impala. Co Bigtop ovšem nenabízí, jsou nástroje na hromadné nasazení a monitorování Hadoopu. K tomuto účelu jsme dodatečně použili automatizační nástroj Ansible a monitorovací systém Icinga, se kterými jsme měli předchozí zkušenosti. Pro nasazení Hadoopu a jeho přidružených nástrojů jsme si napsali sadu Ansible playbooků. Tyto playbooky pro každou Hadoop komponentu nainstalují její prerekvizity, nainstalují samotnou komponentu, nakopírují na server konfigurační soubory komponenty a nakonec spustí její systemd nebo init.d službu.

Jedinou Hadoop komponentou, která nebyla zabalena v Bigtopu, byl již zmíněný nástroj Apache Impala, který umožňuje provádění rychlých SQL dotazů nad velkými datasety v HDFS — souborovém systému Hadoopu. Manuální instalace Impaly se bohužel ukázala být nad naše síly kvůli nekompatibilitě s Debianem 10 a těsnou provázaností s nástroji Cloudera. Rozhodli jsme se tedy nahradit Impalu jiným SQL nástrojem pro Hadoop. Vybírali jsme z následujících možností:

Vítězem se stal nástroj Trino, který prokázal obdobný výkon jako Impala a nejlepší provázanost s Hadoop ekosystémem z testovaných možností.

Pro monitorování serverů a na nich nainstalovaných Hadoop služeb jsme jako náhradu za Cloudera Manager zvolili dříve zmíněný nástroj Icinga. S pomocí několika pluginů z Icinga Exchange jsme schopni monitorovat jak základní metriky samotných serverů, tak stav jednotlivých Hadoop služeb. V případě problému poté ihned od Icingy obdržíme e-mailovou notifikaci.

Ve výsledku se nám úspěšně povedlo nasadit instanci Hadoopu na nové servery pomocí skupiny otevřených a volně dostupných nástrojů — Apache Bigtop, Trino, Ansible, Icinga. Tuto novou instanci Hadoopu používáme od června 2021 a zatím funguje podle našich představ. Je ovšem zřejmé, že tento způsob správy Hadoopu je náročnější než použití komerčních nástrojů a vyžaduje určitou časovou investici.

Podrobnější popis migrace naší instance Hadoopu lze nalézt v anglicky psaném reportu projektu ADAM — Migrating Hadoop from Cloudera to Apache Bigtop.

Autor:

Zanechte komentář

Všechny údaje jsou povinné. E-mail nebude zobrazen.

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..