Inhoudsopgave:
De hoofdknooppunten in gedistribueerde Hadoop-clusters hosten de verschillende opslag- en verwerkingsbeheerservices, die in deze lijst worden beschreven, voor de hele Hadoop-cluster. Redundantie is van cruciaal belang bij het voorkomen van enkele faalpunten, dus u ziet twee schakelaars en drie hoofdknooppunten.
-
NameNode: Beheert HDFS-opslag. Om een hoge beschikbaarheid te garanderen, hebt u zowel een actieve NameNode als een standby NameNode. Elk werkt op zijn eigen, toegewijde hoofdknooppunt.
-
Controlepuntknooppunt (of knooppunt voor back-up): biedt controlepunten -diensten voor de NameNode. Dit omvat het lezen van het bewerkingslog van de NameNode voor wijzigingen in bestanden in HDFS (nieuwe, verwijderde en toegevoegde bestanden) sinds het laatste controlepunt, en ze toe te passen op het masterbestand van de NameNode dat bestanden toewijst aan datablokken.
Bovendien bewaart de back-upknoop een kopie van de namespace van het bestandssysteem in het geheugen en houdt deze synchroon met de status van de NameNode. Gebruik voor high availability-implementaties geen controlepuntknooppunt of back-upknooppunt - gebruik in plaats daarvan een standby-naamknooppunt. Naast een actieve standby voor de NameNode, houdt de Standby NameNode de controlepuntservices bij en bewaart een bijgewerkte kopie van de naamruimte van het bestandssysteem in het geheugen.
-
JournalNode: Ontvangt wijzigingslogboekwijzigingen die veranderingen in bestanden in HDFS van de NameNode aangeven. Ten minste drie JournalNode-services (en het is altijd een oneven nummer) moeten in een cluster worden uitgevoerd en ze zijn licht genoeg om met andere services op de hoofdknooppunten te worden gecentraliseerd.
-
Resource Manager: houdt toezicht op de planning van applicatietaken en het beheer van de bronnen van het Hadoop-cluster. Deze service is het hart van YARN.
-
JobTracker: voor Hadoop 1-servers, verwerkt clusterbronbeheer en -planning. Met YARN is de JobTracker overbodig en wordt deze niet gebruikt. Een aantal Hadoop-implementaties zijn nog steeds niet gemigreerd naar Hadoop 2 en YARN.
-
HMaster: bewaakt de servers van het HBase-domein en verwerkt alle metagegevensveranderingen. Voor een hoge beschikbaarheid moet u een tweede HMaster-instantie gebruiken. De HMaster-service is licht genoeg om te worden samengevoegd met andere services op de hoofdknooppunten. In Hadoop 1 worden exemplaren van de HMaster-service op hoofdknooppunten uitgevoerd. In Hadoop 2, met Hoya (HBase op garen), lopen HMaster-instanties in containers op slaafknopen.
-
Zookeeper: Coördineert verspreide componenten en biedt mechanismen om ze gesynchroniseerd te houden. Zookeeper wordt gebruikt om de fout van de NameNode te detecteren en een nieuwe NameNode te kiezen.Het wordt ook gebruikt met HBase om de toestanden van de HMaster en de RegionServers te beheren.
Net als bij de JournalNode hebt u ten minste drie exemplaren van Zookeeper-knooppunten (en altijd een oneven nummer) nodig en ze zijn licht genoeg om te worden gecombineerd met andere services op de hoofdknooppunten.
Hier hebt u drie hoofdknooppunten (met dezelfde hardware), waarbij de sleuteldiensten Active NameNode, Standby NameNode en Resource Manager elk een eigen server hebben. Er zijn ook JournalNode- en Zookeeper-services op elke server, maar deze zijn lichtgewicht en vormen geen bron van bronnenstrijd met de NameNode- en Resource Manager-services.
De principes zijn hetzelfde voor Hadoop 1, waarvoor u een speciaal masterknooppunt nodig hebt voor de NameNode-, Secondary NameNode- en JobTracker-services.
Als u HBase met Hoya in Hadoop 2 wilt gebruiken, hebt u geen aanvullende services nodig. Voor Hadoop 1-implementaties met HBase raadpleeg je de volgende afbeelding voor de implementatie van services op de hoofdknooppunten van het Hadoop-cluster.
Er zijn twee verschillen bij het vergelijken van deze masterservers met de Hadoop 1-masterservers zonder HBase-ondersteuning: hier hebt u twee HMaster-services nodig (een voor het coördineren van HBase en een als standby) en Zookeeper-services op alle drie de masterknooppunten om failover af te handelen.
Als u uw Hadoop 1-cluster alleen voor HBase wilt gebruiken, kunt u de JobTracker-service gebruiken, omdat HBase niet afhankelijk is van de Hadoop 1 MapReduce-infrastructuur.
Wanneer mensen voor Hadoop over hardware praten, leggen ze over het algemeen de nadruk op het gebruik van standaard -componenten - de goedkope. Omdat u slechts een paar hoofdknooppunten hoeft neer te ploffen (gewoonlijk drie of vier), wordt u niet geraakt door de kosten te vermenigvuldigen als u bijvoorbeeld besluit dure harde schijven te gebruiken.
Houd in gedachten dat er zonder masterknooppunten geen Hadoop-cluster is. Hoofdknooppunten hebben een missiekritieke functie en hoewel u redundantie nodig hebt, moet u ze ontwerpen met hoge beschikbaarheid en veerkracht in gedachten.
Aanbevolen opslag
Voor Hadoop-masterknooppunten, ongeacht het aantal slaafknopen of -gebruiken van het cluster, zijn de opslagkenmerken consistent. Gebruik vier 900 GB SAS-schijven, samen met een RAID HDD-controller die is geconfigureerd voor RAID 1 + 0. SAS-schijven zijn duurder dan SATA-schijven en hebben een lagere opslagcapaciteit, maar ze zijn sneller en betrouwbaarder.
Door uw SAS-schijven als een RAID-array te implementeren, zorgt u ervoor dat de Hadoop-beheerservices een redundante opslagruimte hebben voor hun bedrijfskritieke gegevens. Dit geeft u voldoende stabiele, snelle en redundante opslag om het beheer van uw Hadoop-cluster te ondersteunen.
Aanbevolen processors
Ten tijde van dit schrijven raden de meeste referentiearchitecturen aan moederborden met twee CPU-sockets te gebruiken, elk met zes of acht kernen. De Intel Ivy Bridge-architectuur wordt vaak gebruikt.
Aanbevolen geheugen
Geheugenbehoeften variëren aanzienlijk, afhankelijk van de schaal van een Hadoop-cluster.Geheugen is een kritische factor voor Hadoop-masterknooppunten, omdat de actieve en standby-NameNode-servers sterk afhankelijk zijn van RAM om HDFS te beheren. Gebruik daarom foutencorrigerend geheugen (ECC) voor Hadoop-masterknooppunten. Meestal hebben masterknooppunten tussen 64 GB en 128 GB RAM nodig.
De NameNode-geheugenvereiste is een directe functie van het aantal bestandsblokken dat is opgeslagen in HDFS. In de regel gebruikt de NameNode ongeveer 1 GB RAM per miljoen HDFS-blokken. (Vergeet niet dat bestanden worden onderverdeeld in individuele blokken en gerepliceerd, zodat u drie exemplaren van elk blok hebt.)
De geheugenvereisten van Resource Manager, HMaster, Zookeeper en JournalNode-servers zijn aanzienlijk minder dan voor de NameNode-server. Het is echter een goede gewoonte om de hoofdknooppunten op een consistente manier te dimensioneren, zodat ze uitwisselbaar zijn in het geval van hardwarestoringen.
Aanbevolen netwerk
Snelle communicatie is van vitaal belang voor de services op hoofdknooppunten, dus we raden aan een paar bonded 10GbE-verbindingen te gebruiken. Dit gebonden paar biedt redundantie, maar verdubbelt ook de doorvoer tot 20 GbE. Voor kleinere clusters (bijvoorbeeld minder dan 50 knooppunten) zou u weg kunnen komen met het gebruik van 1 GbE-connectoren.