Provozní databáze CDP (COD) je autonomní transakční databáze poháněná Apache HBase a Apache Phoenix. Je to jedna z hlavních datových služeb, která běží na Cloudera Data Platform (CDP) Public Cloud. K COD můžete přistupovat přímo z vaší CDP konzole. S COD mohou nyní vývojáři aplikací využít sílu HBase a Phoenix bez režijních nákladů, které často souvisí s nasazením a správou. COD se snadno poskytuje a samo se spravuje, což znamená, že vývojáři mohou zřídit novou instanci databáze během několika minut a rychle začít vytvářet prototypy. Autonomní funkce, jako je automatické škálování, automatické léčení a automatické ladění, zajišťují, že se nemusíte starat o žádnou správu a správu databáze.
V tomto blogu se podělíme o to, jak může CDP Operational Database zajistit vysokou dostupnost pro vaše aplikace, když běží na více zónách dostupnosti v AWS.
Chcete-li plně porozumět tomu, co je rozmístění Multi-AZ pro vaši infrastrukturu znamená, že je důležité rozpoznat, jak jsou webové služby Amazon nakonfigurovány po celém světě, a tedy jak poskytují redundantní služby bez ohledu na vaši polohu. Jak je uvedeno v oficiální dokumentaci Amazonu, AWS Cloud se skládá z řady regionů, což jsou fyzická umístění po celém světě. Zatímco výpadky AZ nejsou oficiálně sledovány, zákazníci Cloudera hlásili, že zaznamenali výpadky AZ 1-2krát ročně. K dosažení 99,95+% dostupnosti je tedy nutné nasazení Multi-AZ stretch.
Každá oblast se skládá z několika samostatných fyzických datových center, známých jako zóny dostupnosti (AZ) . Každý AZ je samostatným zařízením s vlastním napájením, konektivitou a síťovými možnostmi. Většina regionů je domovem 2–3 různých zón dostupnosti, z nichž každá poskytuje adekvátní redundanci v rámci daného regionu (AZ je reprezentován kódem regionu následovaným identifikátorem písmene; například us-west-1a) .
Tato redundance se však aplikuje pouze na vrstvu úložiště (S3) a neexistuje pro virtuální počítače používané pro vaši instanci databáze. Pokud by něco způsobilo výpadek zóny dostupnosti, kde sídlí instance vašeho serveru, vaše databáze by přestala fungovat, protože by byla celá výpočetní infrastruktura offline.
Zde přichází na řadu nasazení Multi-AZ. Nasazení Multi-AZ znamená, že výpočetní infrastruktura pro hlavní servery a servery regionů HBase je distribuována do několika zón dostupnosti, což zajišťuje, že když dojde k výpadku jedné zóny dostupnosti, bude pouze část regionů serverů a klienti se automaticky přepnou na zbývající servery v dostupných AZ. Podobně záložní hlavní server (za předpokladu, že primární hlavní server byl v AZ s výpadkem) automaticky převezme roli selhávajícího hlavního serveru, protože je nasazen v samostatném AZ od primárního hlavního serveru. To vše je automatické a nevyžaduje žádné nastavení, žádnou správu a žádné akce z hlediska uživatele / správce. Funguje to jednoduše tak, aby aplikace neutrpěla výpadek kvůli ztrátě jednoho AZ.
Ukázka
Nově vytvořené databáze COD automaticky využijí všechny nakonfigurované zóny dostupnosti v prostředí. Proto je klíčové nastavit prostředí se zónami, které bychom chtěli používat.
Například máme prostředí s následujícími AZ:us-západ-1a, nás-západ-1b a nás-západ-1c. Když nasadíme databázi COD, automaticky se nasadí způsobem multi-AZ – není co dělat! Pojďme se podívat do zákulisí a podívat se, co je na konzoli AWS.
COD zajišťuje, že pracovní uzly jsou rovnoměrně rozmístěny mezi nakonfigurovanými AZ. (Masters a Leader jsou také rozmístěni v různých AZ, aby byla zajištěna vysoká dostupnost pro kvorum ZooKeeper.)
Apache HBase již má vestavěné funkce převzetí služeb při selhání, takže v případě, že jeden AZ přejde do režimu offline, systém je již na místě, aby okamžitě a automaticky pokračoval ve službách vaší databáze.
Abychom přidali trochu více zábavy, spusťte během testování jednoduchý zátěžový test HBase. HBase má vestavěný nástroj pro testování zátěže, který můžeme použít pro dlouhodobý test zápisu:
hbase ltt -write 10:1024:10 -num_keys 10000000
Pojďme nyní simulovat selhání AZ a uvidíme, co se stane. Nejjednodušší způsob, jak toho dosáhnout, je přidat nový síťový ACL, který zakáže příchozí a odchozí provoz dané podsítě s podobnými podmínkami jako skutečný výpadek AWS.
V první minutě nevidíme na stavové stránce nic zvlášť zajímavého, protože z pohledu COD je databáze stále zdravá.
Ale všimli jsme si, že klient přestal dělat pokroky.
Za 10-20 sekund si Master uvědomí, že některé z regionálních serverů jsou mrtvé.
Pokud výpadek postihne aktivní master, HBase se po 10-20 sekundách automaticky přepne na zálohu, která převezme roli..
Selhání netrvá příliš dlouho, po 2-3 minutách a některých přechodných chybách oblasti je klient schopen znovu postupovat. Master musel převést mrtvé oblasti na živé servery oblastí.
Chcete-li simulovat konec výpadku, vraťte vytvoření síťového ACL jeho odstraněním. Servery regionů se připojují zpět k hlavnímu serveru.
Nyní jsme zase tam, kde jsme původně začali. COD se po výpadku plně zotavilo. V požadavcích na zápis můžeme vidět dva poklesy:první je, když klient přešel na zbývající živé servery regionů, druhý o něco později, když vyrovnávač zatížení HBase přesunul regiony zpět na znovu připojené servery.
COD na HDFS
Úložiště objektů v cloudu je výchozí úložnou vrstvou pro COD a šíří data do 3 zón dostupnosti za sebou a bude znovu vyvažovat zákulisí. HBase musí pouze provést určitou údržbu (přechod regionu), aby obsluhoval regiony zbývajícími servery, takže jde o relativně rychlou operaci.
Pro případy použití s vysokým výkonem COD podporuje použití HDFS jako základního úložiště. V tomto paradigmatu nasazení automaticky konfigurujeme povědomí o stojanech HDFS na odolnost proti chybám umístěním repliky jednoho bloku do jiného stojanu a mapováním stojanů na zóny dostupnosti. To zajišťuje dostupnost dat v případě selhání síťového přepínače nebo oddílu v klastru. Takže chování ve výše uvedené ukázce je velmi podobné tomu, co byste viděli při nasazení COD s HDFS.
Shrnutí
Nasazení multi-AZ je klíčové pro vysoce dostupné databáze a nyní jej COD podporuje v AWS jako technický náhled do zákulisí bez dalších nákladů. Díky tomu je vaše provozní zátěž robustnější a spolehlivější s nulovou další konfigurací. Brzy bude obecně dostupný a bude podporovat další poskytovatele cloudu (Microsoft, Google).
Pokud se chcete dozvědět více o tom, jak migrovat z nasazení HBase na operační databázi CDP ve veřejném cloudu, obraťte se na svůj tým pro účet Cloudera nebo si to vyzkoušejte pomocí testovacího disku Cloudera.