50% korting alle abonnementen, tijdelijk aanbod. Vanaf $2.48/mo
13 min resterend
Databases & Analytics

Hadoop installeren op Ubuntu: een uitgebreide handleiding

Pius Bodenmann By Pius Bodenmann 13 minuten lezen Bijgewerkt 1 mei 2024
hadoop installeren op ubuntu linux

Zodra een bedrijf of een andere operatie die computers gebruikt groeit tot het punt dat één computer niet meer volstaat, schakelen we al snel over op meerdere computers in één netwerk om de werklast efficiënter te verdelen. Dit is zo gangbaar geworden dat vrijwel alle operaties in vakgebieden zoals data science tegenwoordig worden uitgevoerd door dergelijke netwerken van computers. Hoewel zware computertaken op deze manier aanzienlijk efficiënter verlopen, is het ook een stuk complexer: je moet elke computer afzonderlijk configureren en vervolgens het hele netwerk beheren terwijl het je taken verwerkt. Programma's zoals Hadoop zijn precies hiervoor bedoeld.

Hadoop is een pakket tools en programma's, uitgebracht door Apache, waarmee je een groot aantal computers efficiënt en eenvoudig tot één netwerk kunt samenvoegen. In dit artikel bespreek ik Hadoop: de toepassingen, de voor- en nadelen en een overzicht van de geavanceerde architectuur. Daarna volgt een stapsgewijze handleiding voor het installeren van Hadoop op Ubuntu 20.04, waarmee deze Hadoop-tutorial van 2024 wordt afgerond.

Wat is Apache Hadoop?

Hadoop, een pakket tools aangedreven door Apache, verandert al meer dan 15 jaar de manier waarop netwerken worden opgezet en gebruikt. Met Hadoop haal je meer uit je bestaande rekenkracht, zodat je veeleisende taken kunt uitvoeren zonder dure hardware-upgrades. Het pakket bestaat uit vier modules: HDFS, YARN, MapReduce en Hadoop Common, elk ontworpen voor specifieke toepassingen.

De kracht van Hadoop zit in de slimme manier waarop het bestaande rekenkracht bundelt. Individuen en organisaties kunnen hun huidige computers samenvoegen tot één geheel dat zware rekentaken aankan. Zonder Hadoop zou je al snel gedwongen zijn om steeds krachtigere en duurdere machines aan te schaffen.

Toepassingen van Hadoop

Nu we weten wat Hadoop is, rijst de vraag: hoe vertalen de toepassingen zich naar de praktijk? Een programma op papier begrijpen is nuttig, maar dat vervangt nooit de ervaring van het in actie zien binnen een serieuze omgeving. Daarom geef ik hier een aantal concrete voorbeelden, voordat we verder gaan met de Hadoop-tutorial.

Risicoanalyse

Zoals eerder vermeld, stelt Hadoop je in staat de rekenkracht van meerdere computersystemen te bundelen in één netwerkeenheid, zodat je grote hoeveelheden data efficiënt kunt verwerken en sneller dan gebruikelijk kunt analyseren. Elk bedrijf heeft te maken met risico's die geanalyseerd en gekwantificeerd moeten worden. Hadoop is daarvoor bijzonder geschikt. Zo worden in gerenommeerde ziekenhuizen de risico's van verschillende behandelingen geanalyseerd en worden de mogelijke uitkomsten en statistieken voor patiënten in kaart gebracht. Lees hier meer over de rol van Hadoop in de gezondheidszorg.

Beveiligingslekken detecteren

Naarmate het aantal apparaten en netwerkverbindingen binnen een organisatie toeneemt, neemt ook het risico op beveiligingslekken toe. Een van de belangrijkste toepassingen van Hadoop is het analyseren van grote datasets om de volledige werking van een systeem in kaart te brengen en potentiële kwetsbaarheden te signaleren.

Beoordelingen Toewijzing

Veel bedrijven vertrouwen op klantbeoordelingen om hun producten te verbeteren of nieuwe marktstrategieën te ontwikkelen. Waar een mens uren bezig is met het doornemen van een grote hoeveelheid reviews, verwerkt Hadoop diezelfde data in een fractie van de tijd dankzij de gebundelde rekenkracht van het netwerk.

Marktanalyse

Als het gaat om marktstrategieën, verbleekt het analyseren van reviews bij de enorme hoeveelheid data die nodig is om de marktpotentie van een nieuw product te beoordelen. Dit is een ander sterk punt van Hadoop: zelfs kleinere, groeiende bedrijven kunnen de markt efficiënt analyseren met een beperkt aantal computers, in een aanvaardbare tijdspanne.

Logbestanden analyseren

Naarmate bedrijven groeien, neemt ook het aantal softwaretoepassingen dat ze gebruiken toe. Meer software betekent meer potentiële bugs en problemen, en dat vereist iemand die de logbestanden bijhoudt en issues oplost. Dat kost veel tijd, maar met de juiste protocollen kan Hadoop logbestanden snel doorzoeken, bugs identificeren en verhelpen.

Er zijn tal van andere toepassingen voor Hadoop, maar om de focus van dit artikel te bewaren, gaan we daar verder niet op in.

Overzicht van de Hadoop-architectuur

Stel dat je al hebt gehoord over Hadoop en de toepassingen ervan. Of misschien heeft dit artikel je daar tot nu toe van op de hoogte gesteld. Hoe dan ook: nu is het tijd om echt te begrijpen waaruit Hadoop bestaat en hoe de verschillende onderdelen samenwerken. Zoals eerder genoemd, heeft Hadoop vier hoofdlagen. In dit deel van de Hadoop-tutorial bespreken we HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), MapReduce en Hadoop Common. Omdat Hadoop Common relatief weinig uitleg behoeft, staan de kernconcepten ervan bekend als Zookeeper. In dit gedeelte leg ik de geavanceerde Hadoop-architectuur en het ecosysteem, met de vier secties, in begrijpelijke termen uit, voordat we overgaan naar de installatie van Hadoop op Ubuntu 20.04.

HDFS

HDFS vormt binnen het Hadoop-ecosysteem het centrale opslagsysteem dat door alle Hadoop-onderdelen en -toepassingen wordt gebruikt voor het opvragen, overdragen en opslaan van data. Belangrijk verschil: Hadoop zelf is een open-sourceprogramma, maar HDFS is het bestandssysteem dat alle onderliggende bewerkingen van een Hadoop-cluster aanstuurt. HDFS is een bijzonder veerkrachtig bestandssysteem dat databatches opsplitst in blokken van 128 MB en deze optimaliseert voor sequentiële bewerkingen.

De primaire taak van HDFS binnen Hadoop is het aanbieden van alle data als onderdeel van een centrale datarak, die vervolgens via verschillende namenodes en secundaire racks kan worden opgesplitst in subsecties voor het organiseren van je data-analyseoperatie. Daarnaast kun je gebruik maken van opties zoals Journal-racks, QJM, HA, fsimage en bewerkingslogbestanden, en het algemene legendalogboek om taken bij te houden en uit te voeren.

YARN

YARN is een ander uitvoerend onderdeel van Hadoop dat wordt gebruikt om specifieke hoeveelheden rekenbronnen toe te wijzen aan toepassingen binnen het Hadoop-ecosysteem. Het stelt je in staat een resource manager in te zetten voor clients, zodat bronnen via een set nodes aan verschillende taken en toepassingen worden verdeeld. Net als in HDFS beschikt YARN over een overzicht waarmee je alle toegewezen bronnen en bewerkingen kunt bijhouden. YARN is onderverdeeld in drie subsecties: de Resource Manager, de Application Master en de Node Manager.

Elk van deze drie subsecties maakt per cluster, applicatie en node een nieuwe instantie van zichzelf aan. Met YARN kun je niet alleen bronnen toewijzen aan verschillende taken, maar ook plannen hoe die bronnen in de loop van de tijd veranderen, wat geavanceerde algoritmische workflows mogelijk maakt. YARN is niet beperkt tot zijn eigen subsecties: in veel gevallen gebruik je YARN in combinatie met andere architectuurlagen zoals HDFS en Zookeeper om bronnen toe te wijzen en de algehele werking te bewaken.

Hadoop Mapreduce

Hadoop MapReduce is een ander belangrijk onderdeel van het Hadoop-ecosysteem. Zodra je Hadoop op Ubuntu installeert, kun je deze functie gebruiken om grote hoeveelheden data op een gedistribueerde manier te analyseren over meerdere computers. Kort gezegd werkt Hadoop MapReduce als volgt: je voert een grote dataset in als invoer. Deze data wordt geschud, opgesplitst en verdeeld over je aangesloten computers. Vervolgens worden de gegevens via zogenaamde reducers teruggebracht tot hun meest essentiële onderdelen. Elke afzonderlijke bewerking heet een Job.

Stel dat je een zin van drie woorden hebt die dient als de dataset die je met MapReduce wilt analyseren. Neem de zin: Beer Jacht Konijn. Hadoop MapReduce splitst deze zin op in drie afzonderlijke batches, elk met één woord. Vervolgens combineert het deze woorden met vergelijkbare invoer uit andere jobs, zodat er uiteindelijk één gecombineerde, opgeschoonde dataset ontstaat die eenvoudig te analyseren is.

Zookeeper

Zookeeper is een ander onderdeel van het Hadoop-ecosysteem en raakte wijdverspreid in gebruik met de release van Hadoop versie 2.0. De voornaamste taak van Zookeeper is het coördineren van de verschillende processen die binnen één Hadoop-instantie draaien. Zookeeper wordt daarom bijna altijd gebruikt in combinatie met YARN's Resource Manager en de verschillende functies van HDFS. De primaire rol van Zookeeper binnen deze processen is het detecteren en verhelpen van mogelijke storingspunten. Hiervoor gebruikt het twee hulpmiddelen: ZKFailoverController en het Zookeeper Quorum.

Bij deze procedures worden de datanodes die door andere componenten van de Hadoop-architectuur worden beheerd, geclassificeerd als actieve namenodes onder toezicht van de gebruiker. Vervolgens wordt elk van deze namenodes onderzocht binnen de twee eerder genoemde onderdelen van Zookeeper. Dit gebeurt om probleemgebieden te lokaliseren en mogelijke fouten vroegtijdig te herkennen.

Hadoop installeren op Ubuntu 20.04 – Stapsgewijze handleiding

Nu je de Hadoop-architectuur kent, is het tijd voor het eigenlijke werk: Hadoop installeren op Ubuntu 20.04. Dit is het afsluitende deel van deze Hadoop-tutorial. Laten we eerst de vereisten doornemen voordat we de stapsgewijze installatiehandleiding ingaan. Houd er rekening mee dat deze handleiding ook geschikt is voor Ubuntu 18.04.

Vereisten

De vereisten voor het installeren van Hadoop op Ubuntu zijn eenvoudig. Je hebt een computer met Ubuntu nodig met root-toegang, lokaal beschikbaar of op afstand toegankelijk via een VPS-server. Wat betreft software: zorg dat je al Java 11 en SSH hebt geïnstalleerd. Als dat niet het geval is, voer dan de volgende commando's één voor één uit om ze te installeren:

sudo apt update && sudo apt upgrade -y
sudo apt install openssh-server openssh-client -y
sudo apt install openjdk-11-jdk -y

Een licentie heb je niet nodig, want Hadoop is gratis en open-source. Dat is alles. Door naar stap één.

Stap 1: Maak een niet-root gebruiker aan voor Hadoop

Maak een gebruiker zonder root-rechten aan voor Hadoop met het volgende commando. Dit maakt deel uit van de voorbereidende configuratiestappen die we uitvoeren voordat we Hadoop daadwerkelijk downloaden en installeren:

sudo adduser hdoop
su - hdoop

Stap 2: SSH-sleutels instellen

Om Hadoop op Ubuntu te installeren, gebruiken we de Hadoop-gebruiker die je zojuist hebt aangemaakt en stellen we daarmee een SSH-verbinding in. Gebruik dit commando om een SSH-sleutelpaar te genereren en op te slaan:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa

Zodra de sleutels zijn gegenereerd, maakt de volgende regel het mogelijk om ze te markeren als authorized_keys en op te slaan in je SSH-map:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

Gebruik dit commando om te controleren of je SSH-verbinding de juiste rechten heeft:

chmod 600 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

Bevestig de wijzigingen en je kunt voortaan altijd eenvoudig als de aangemaakte gebruiker verbinding maken met je localhost:

ssh localhost

Stap 3: Hadoop downloaden en installeren op Ubuntu

Je kunt de Apache Hadoop-website bezoeken voor een overzicht van beschikbare versies met hun changelog. Kies de gewenste versie en je krijgt een link die je kunt gebruiken met het volgende commando om Hadoop te downloaden en te installeren op Ubuntu. In dit voorbeeld kiezen we versie 3.3.6. Vervang '3.3.6' indien nodig door de meest recente stabiele versie:

wget https://downloads.apache.org/hadoop/common/hadoop-3.3.6/hadoop-3.3.6.tar.gz

Zodra de download is voltooid, gebruik je deze regel om het uitpakken en installeren af te ronden:

tar xzf hadoop-3.3.6.tar.gz
sudo mv hadoop-3.3.6 /usr/local/hadoop
sudo chown -R hdoop:hdoop /usr/local/hadoop

Stap 4: De Hadoop-omgeving configureren

Instellen JAVA_HOME in /usr/local/hadoop/etc/hadoop/hadoop-env.sh:

echo 'export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")' | sudo tee -a /usr/local/hadoop/etc/hadoop/hadoop-env.sh

Stap 5: Configuratiebestanden bewerken

Werk de XML-configuratiebestanden van Hadoop bij met je clusterinstellingen.

nano /usr/local/hadoop/etc/hadoop/core-site.xml

Stap 6: HDFS formatteren

Initialiseer de Hadoop-bestandssysteemnamespace.

/usr/local/hadoop/bin/hdfs namenode -format

Stap 7: Hadoop-services starten

Start de HDFS- en YARN-services.

/usr/local/hadoop/sbin/start-dfs.sh
/usr/local/hadoop/sbin/start-yarn.sh

Stap 8: Installatie verifiëren

Controleer de actieve Java-processen om te bevestigen dat Hadoop actief is.

jps

Stap 9: Webinterfaces openen

Open een webbrowser en ga naar de NameNode- en ResourceManager-interfaces van Hadoop.

NameNode: http://localhost:9870
ResourceManager: http://localhost:8088

Stap 10: Een MapReduce-voorbeeld uitvoeren

Voer een voorbeeld-MapReduce-taak uit om de installatie te valideren.

/usr/local/hadoop/bin/hdfs dfs -mkdir /input
/usr/local/hadoop/bin/hdfs dfs -put localfile.txt /input
/usr/local/hadoop/bin/hadoop jar
/usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.6.jar grep /input /output 'dfs[a-z.]+'
/usr/local/hadoop/bin/hdfs dfs -cat /output/*

Stap 11: Omgevingsvariabelen instellen

Voeg Hadoop toe bin en sbin mappen toe aan het systeem-PATH.

echo 'export PATH=$PATH:/usr/local/hadoop/bin:/usr/local/hadoop/sbin' >> ~/.bashrc
source ~/.bashrc

Dat is alles! Je hebt Apache Hadoop succesvol geconfigureerd en geïnstalleerd op Ubuntu 20.04!

Conclusie

Kortom, het installeren van Hadoop op Ubuntu 20.04 is een uitgebreid proces dat nauwkeurigheid vereist en bereidheid om de details van de configuratie te verkennen. Door de stappen in deze handleiding te volgen, kunnen Ubuntu-gebruikers de volledige mogelijkheden van Hadoop benutten voor hun data-analyseprojecten.

Mijn aanbeveling: installeer Hadoop als single-node deployment met beperkte distributie als je het alleen wilt leren kennen en ermee wilt experimenteren. Voor dat doel is een VPS meer dan voldoende. Cloudzy biedt je een ruim aanbod aan verschillende Linux VPS-diensten waaronder een betrouwbare Ubuntu VPS die je snel kunt configureren als ideale leeromgeving voor Hadoop. Vanaf $4,95 per maand krijg je je eigen Ubuntu VPS met meer dan 12 locaties en 24/7 ondersteuning!

ubuntu-vps De voor de hand liggende keuze

De meeste Linux-servers draaien op Ubuntu. Waarom jij nog niet? Ontdek waarom iedereen voor Ubuntu kiest en start met een geoptimaliseerde Ubuntu VPS

Haal je Ubuntu VPS

Veelgestelde vragen

Wat zijn de verschillen tussen HDFS en MapReduce?

Hoewel beide modules deel uitmaken van het Hadoop-ecosysteem, hebben ze elk een eigen doel. HDFS fungeert als gedistribueerd bestandssysteem en zorgt voor toegankelijkheid van data. MapReduce is gespecialiseerd in het opsplitsen en efficiënt analyseren van grote hoeveelheden data.

Is Hadoop een database?

Hadoop is geen database, ook al is die verwarring begrijpelijk. Het werkt als een gedistribueerd bestandssysteem waarmee je grote hoeveelheden data kunt opslaan en verwerken via een netwerk van gekoppelde computers. Het is geen directe vervanging voor een traditioneel databasesysteem.

Wat zijn de vier hoofdcomponenten van Hadoop?

Hadoop bestaat uit vier kerncomponenten: HDFS (Hadoop Distributed File System), YARN (Yet Another Resource Negotiator), MapReduce en Hadoop Common. Sommige bronnen beschouwen ZooKeeper ook als een component, maar dat wordt officieel niet erkend.

Waar wordt Hadoop typisch ingezet?

Hadoop wordt ingezet in uiteenlopende sectoren waar het beheren, opslaan, verwerken en analyseren van grote hoeveelheden data centraal staat. Het is geschikt voor middelgrote bedrijven, ziekenhuizen en groeiende startups die data-gedreven beslissingen willen nemen.

Delen

Meer van de blog

Verder lezen.

Het originele symbool van MongoDB op een futuristische server om MongoDB te installeren op Ubuntu + tagline over wat u in het artikel kunt verwachten + artikeltitel + Cloudzy merklogo
Databases & Analytics

MongoDB installeren op de drie nieuwste versies van Ubuntu (stap voor stap)

U hebt gekozen voor MongoDB, een sterk alternatief voor MariaDB bij het bouwen van een MERN stack-app, een analyseplatform of een document-gebaseerd systeem, maar loopt vast bij goede

Jim SchwarzJim Schwarz 12 minuten lezen
Slim gegevensbeheer voor je bedrijf: "cloud-achtige" opslag- en back-upstrategieën met VPS
Databases & Analytics

Slim gegevensbeheer voor je bedrijf: "cloud-achtige" opslag- en back-upstrategieën met VPS

VPS voor veilig beheer van bedrijfsdata is de aanpak die ik aanbeveel zodra een bedrijf besluit te stoppen met het jongleren van bestanden tussen laptops, e-mailbijlagen en half-vergeten

Rexa CyrusRexa Cyrus 7 minuten lezen
Gerealiseerde weergave versus weergave
Databases & Analytics

Materialized View vs. View: hun rol in databases uitgelegd

In databasesystemen slaat een materialized view de vooraf berekende resultaten van een query op als fysieke tabel. Omdat de data daadwerkelijk op schijf wordt opgeslagen, kunnen complexe

Ivy JohnsonIvy Johnson 7 minuten lezen

Klaar om in te zetten? Vanaf $2.48/mnd.

Onafhankelijke cloud, sinds 2008. AMD EPYC, NVMe, 40 Gbps. 14 dagen geld-terug-garantie.