Hem Personliga finanser Zookeeper och HBase Reliability - dummies

Zookeeper och HBase Reliability - dummies

Video: Big Data analysis Hadoop with Mapreduce, HIVE, PIG , Zookeeper and Spark class 9 2024

Video: Big Data analysis Hadoop with Mapreduce, HIVE, PIG , Zookeeper and Spark class 9 2024
Anonim

Zookeeper är ett distribuerat kluster av servrar som gemensamt tillhandahåller tillförlitliga koordinations- och synkroniseringstjänster för grupperade applikationer. Visst kan namnet "Zookeeper" först tyckas vara ett udda val, men när du förstår vad det gör för ett HBase-kluster kan du se logiken bakom den. När du bygger och felsöker distribuerade applikationer "Det är en zoo där ute", så du borde lägga Zookeeper på ditt lag.

HBase-klyftor kan vara enorma och samordna operationerna hos MasterServers, RegionServers och kunder kan vara en skrämmande uppgift, men det är där Zookeeper kommer in i bilden. Som i HBase kör Zookeeper-kluster typiskt på billiga x86-servrar.

Varje enskild x86-server kör en enda Zookeeper-mjukvaruprocess (nedan kallad en Zookeeper-server), med en Zookeeper-server vald av ensemblet som ledare och resten av servrarna är följare. Zookeeper-ensembler styrs av principen om majoritetsquorum.

Konfigurationer med en Zookeeper-server stöds för test- och utvecklingsändamål, men om du vill ha ett tillförlitligt kluster som kan tolerera serverfel måste du distribuera minst tre Zookeeper-servrar för att få ett majoritetsquorum.

Så, hur många Zookeeper-servrar behöver du? Fem är det minsta rekommenderade för produktionsanvändning, men du vill verkligen inte gå med det minsta minimumet. När du bestämmer dig för att planera ditt Zookeeper-ensemble, följ den här enkla formeln: 2F + 1 = N där F är antalet misslyckanden som du kan acceptera i din Zookeeper-grupp och N är det totala antalet Zookeeper-servrar du måste distribuera.

Fem rekommenderas eftersom en server kan stängas av för underhåll, men Zookeeper-klustret kan fortfarande tolerera ett serverfel.

Zookeeper tillhandahåller koordinering och synkronisering med vad det kallar znodes , som presenteras som ett katalogtree och liknar filvägsnamnen du skulle se i ett Unix-filsystem. Znodes gör lagra data men inte mycket att tala om - för närvarande mindre än 1 MB som standard.

Tanken här är att Zookeeper lagrar znodes i minnet och att dessa minnesbaserade znodes ger snabb klientåtkomst för samordning, status och andra viktiga funktioner som krävs av distribuerade applikationer som HBase. Zookeeper replikerar znodes över ensemblet, så om servrar misslyckas är znode-data fortfarande tillgänglig så länge som majoritetsquorum av servrar fortfarande är igång.

En annan viktig Zookeeper-koncept gäller hur znode läser (kontra skriv) hanteras. Enhver Zookeeper-server kan hantera läsningar från en klient, inklusive ledaren, men endast ledarefrågorna atom znode skriver - skriver att helt eller delvis misslyckas.

När en znode-skrivförfrågan anländer till ledarkoden skickar ledaren skrivförfrågan till följarknoderna och väntar sedan på att en majoritet av anhängare kommer att bekräfta znode write complete. Efter bekräftelsen utfärdar ledaren znode-skrivet och rapporterar sedan den framgångsrika slutförandestatusen till klienten.

Znodes ger några mycket kraftfulla garantier. När en Zookeeper-klient (t.ex. en HBase RegionServer) skriver eller läser en znode är operationen atom . Det lyckas helt eller helt och hållet misslyckas - det finns inga partiella läsningar eller skrivningar.

Ingen annan konkurrerande klient kan orsaka att läsnings- eller skrivoperationen misslyckas. Dessutom har en znode en åtkomstkontrolllistor (ACL) som är associerad med den för säkerhet, och den stöder versioner, tidsstämplar och meddelande till kunder när det ändras.

Zookeeper replikerar znodes över ensemblet, så om servrar misslyckas är znode-data fortfarande tillgänglig så länge som majoritetsquorum av servrar fortfarande är igång. Detta innebär att skrivningar till vilken znode som helst från någon Zookeeper-server måste sprida sig över ensemblet. Zookeeper-ledaren hanterar denna operation.

Denna znode write-metod kan leda till att efterföljare faller bakom ledaren under korta perioder. Zookeeper löser detta potentiella problem genom att tillhandahålla ett synkroniseringskommando. Kunder som inte kan tolerera denna tillfälliga brist på synkronisering inom Zookeeper-klustret kan besluta att utfärda ett synkroniseringskommando innan de läser znoder.

Zookeeper och HBase Reliability - dummies

Redaktörens val

Hur man lägger till text i en sätter () Funktion i C Programmering

Hur man lägger till text i en sätter () Funktion i C Programmering

När du behöver visa en annan textrad, använd C-programmeringsfärdigheterna för att skapa en annan puts () -funktion i källkoden, som visas i Visa två textlinjer. VISA TILL TEXTFINER # inkludera int main () {sätter ("Hickory, Dickory, Dock,"); sätter ("musen sprang klockan."); returnera (0);} Den andra ...

Förklarar variabler i C-dummies

Förklarar variabler i C-dummies

Variabler är det som gör dina program zooma. Programmering kan bara inte bli gjort utan dem. Så om du inte har introducerats till variabler än, här går du. Valerie Variable är en numerisk variabel. Hon älskar att hålla nummer - vilket nummer som helst; det spelar ingen roll. När hon ser ett lika tecken tar hon ett värde och ...

Redaktörens val

Gör rädsla för din vän - dummies

Gör rädsla för din vän - dummies

Rädsla är lika verklig som mod. Även om värdet av rädsla inte är lika uppenbart som modets värde, har det dess fördelar. Rädsla är din instinkt som säger att du är obehaglig - även om situationen inte kommer att skada dig. Alla har haft den känslan när man hellre drar locket ...

Hur man ökar din självmedvetenhet - dummies

Hur man ökar din självmedvetenhet - dummies

Du kommer att vara med dig själv under en livstid. Ingenting kommer att förändra det faktum. Att lära känna, som att lyssna på och uppskatta själv är avgörande för din sanity. Kanske kommer du till att älska, acceptera och omfamna alla du är, är svår för dig att föreställa dig just nu, men du kan göra ...

Hur man ökar din mentala flexibilitet - dummies

Hur man ökar din mentala flexibilitet - dummies

ÄR flexibel i arbete och relationer är ett tecken på en högpresterande. Medan perfektionister är styva och obehagliga i sitt arbete och hur de interagerar med andra, är högpresterande mer öppna och tillmötesgående. Att vara mer flexibel på jobbet gav Ralph aldrig förslag under brainstorming vid gruppmöten. Han kände att hans lag ...

Redaktörens val

Nätverksadministration: Linux-installation och virtuella konsoler - dummies

Nätverksadministration: Linux-installation och virtuella konsoler - dummies

Linux är i sig ett kommandoradsorienterat operativsystem. Grafiska användargränssnitt - inklusive installationsprogrammets GUI - tillhandahålls av en valfri komponent som heter X Window System. Men medan du arbetar med det grafiska användargränssnittet för installationsprogrammet, håller Linux flera ytterligare kommandorads-konsoler öppna. Normalt behöver du inte ...

Nätverksadministration: Linux-loggning, logg och systemavstängning - dummies

Nätverksadministration: Linux-loggning, logg och systemavstängning - dummies

Alla användare som åtkomst ett Linux-system, lokalt eller över ett nätverk, måste verifieras av ett giltigt användarkonto på systemet. I det följande får du veta hur du loggar in och ut på ett Linux-system och hur du stänger av systemet. Logga in När Linux startar upp visas det ...

Nätverksadministration: Licensserver - Dummies

Nätverksadministration: Licensserver - Dummies

I vissa program kan du köpa nätverkslicenser som gör att du kan installera programvaran på många datorer som du vill, men reglera antalet personer som kan använda programvaran vid en viss tidpunkt. För att styra hur många som använder programvaran, är en särskild licensserver inrättad. När en användare börjar ...