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.


8.9.2021 v 9:40 Počet komentářů 0
Sdílet na

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.


8.9.2021 v 9:40 Počet komentářů 0
Sdílet na

Více z rubriky DNS