Kako instalirati Hadoop na UbuntuKoraci za preuzimanje i postavljanje

โšก Pametni saลพetak

Instaliranje Apache Hadoop-a na Ubuntu potrebna su dva prolaza: raspakiranje izdanja pod namjenskim sistemskim raฤunom s SSH-om bez lozinke, zatim ureฤ‘ivanje ฤetiri XML datoteke prije formatiranja HDFS-a i pokretanja klastera s jednim ฤvorom.

  • ๐Ÿ”˜ Preduvjeti: Trฤanje Ubuntu stroj i podrลพani Java Prvo mora biti instaliran razvojni komplet.
  • โ˜‘๏ธ Namjenski raฤun: Stvorite hadoop_ grupu i hduser_ raฤun kako se daemoni nikada ne bi pokretali kao vaลก prijavljeni korisnik.
  • โœ… SSH bez lozinke: Hadoop pokreฤ‡e daemone preko SSH-a, tako da ssh localhost mora uspjeti bez upita za lozinku.
  • ๐Ÿงช ฤŒetiri konfiguracijske datoteke: hadoop-env.sh, core-site.xml, mapred-site.xml i hdfs-site.xml sadrลพe sve postavke koje ovaj vodiฤ mijenja.
  • ๐Ÿ› ๏ธ Prvi poฤetak: Formatirajte NameNode jednom, zatim pokrenite start-dfs.sh i start-yarn.sh i potvrdite pet daemona s jps-om.
  • ๐Ÿงญ Pomak verzije: Snimke zaslona koriste Hadoop 2.2.0, stoga usporedite izdanje, portove i nazive svojstava s Hadoopom 3.x.

Kako instalirati Hadoop na Ubuntu

U ovom vodiฤu, provest ฤ‡emo vas kroz korak-po-korak postupak instalacije Apache Hadoop-a na Linux raฤunalo (Ubuntu). Ovo je dvodjelni postupak: prvo preuzmite i instalirajte izdanje, a zatim ga konfigurirajte.

Postoje dva preduvjeta:

Napomene o verziji Hadoop 3.x za ovu postavku

Snimke zaslona u ovom vodiฤu snimljene su na Hadoopu 2.2.0. Slijed koraka nije se promijenio u trenutnim izdanjima, ali je nekoliko naziva i zadanih postavki premjeลกteno. Provjerite tablicu u nastavku prije doslovnog kopiranja bilo koje naredbe.

Postavka ili korak U ovom tutorijalu (Hadoop 2.x) Trenutni Hadoop 3.x
Arhiva izdanja hadoop-2.2.0.tar.gz hadoop-3.5.0.tar.gz, prvo stabilno izdanje 3.5, objavljeno 2. travnja 2026.
Zadano svojstvo datoteฤnog sustava fs.default.name u prozi, fs.defaultFS u XML-u fs.defaultFS samo; fs.default.name je zastario
Svojstvo MapReduce mapreduce.jobtracker.address mapreduce.framework.name postavljen na yarnPosaoTracker viลกe ne postoji nakon ลกto YARN zakaลพe rad
mapred-site.xml Kopirano iz mapred-site.xml.template Brodovi ulaze etc/hadoop veฤ‡, tako da je korak kopiranja nepotreban
Port web korisniฤkog suฤelja NameNode 50070 9870
Java Java 6 ili Java 7 Java 8 ili Java 11

Sve ostalo u ovom vodiฤu ponaลกa se na isti naฤin na Hadoopu 3: namjenski raฤun, SSH kljuฤ, ฤetiri konfiguracijske datoteke te skripte za pokretanje i zaustavljanje.

Dio 1) Preuzmite i instalirajte Hadoop

Korak 1) Dodajte korisnika Hadoop sustava

Dodajte korisnika Hadoop sustava pomoฤ‡u donje naredbe.

sudo addgroup hadoop_

Terminal pokreฤ‡e sudo addgroup hadoop_

sudo adduser --ingroup hadoop_ hduser_

adduser prompt prikuplja detalje za hduser_

Unesite svoju lozinku, ime i ostale podatke.

NAPOMENA: Postoji moguฤ‡nost dolje navedene pogreลกke u ovom postupku postavljanja i instalacije.

โ€œhduser nije u datoteci sudoers. Ovaj incident ฤ‡e biti prijavljen.โ€

Poruka o pogreลกci: hduser nije u sudoers datoteci

Ovu greลกku moลพete rijeลกiti prijavom kao root korisnik.

Prelazak na root korisnika u terminalu

Izvrลกite naredbu

sudo adduser hduser_ sudo

Dodavanje hduser_ u sudo grupu

Re-login as hduser_

Ponovna prijava kao hduser_

Korak 2) Konfigurirajte SSH

Za upravljanje ฤvorovima u klasteru, Hadoopu je potreban SSH pristup.

Prvo promijenite korisnika, unesite sljedeฤ‡u naredbu

su - hduser_

Promjena korisnika sa su - hduser_

Ova naredba ฤ‡e stvoriti novi kljuฤ.

ssh-keygen -t rsa -P ""

ssh-keygen generira RSA par kljuฤeva za hduser_

Omoguฤ‡ite SSH pristup lokalnom raฤunalu pomoฤ‡u ovog kljuฤa.

cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

Dodavanje id_rsa.pub u datoteku authorized_keys

Sada testirajte SSH postavke povezivanjem na localhost kao korisnik 'hduser_'.

ssh localhost

Uspjeลกna ssh localhost sesija za hduser_

Biljeลกka: Ako vidite greลกku ispod kao odgovor na 'ssh localhost', tada postoji moguฤ‡nost da SSH nije dostupan na ovom sustavu.

ssh localhost ne uspijeva s greลกkom odbijanja veze

Da biste to rijeลกili โ€“

Oฤisti SSH pomoฤ‡u,

sudo apt-get purge openssh-server

Dobra je praksa proฤistiti prije poฤetka instalacije.

apt-get purge uklanjanje postojeฤ‡eg openssh-server paketa

Instalirajte SSH pomoฤ‡u naredbe-

sudo apt-get install openssh-server

apt-get instaliranje openssh-server paketa

Korak 3) Preuzmite Hadoop

Sljedeฤ‡i korak je preuzimanje Hadoop-a s Stranica s izdanjima Apache Hadoop-a.

Stranica s popisom dostupnih verzija Apache Hadoop izdanja

Odaberite Stabilno

Popis direktorija za stabilno izdanje Hadoop-a

Odaberite datoteku tar.gz (ne datoteku koja zavrลกava na src).

Odabir Hadoop tar.gz binarne datoteke umjesto src arhive

Nakon ลกto je preuzimanje zavrลกeno, idite do direktorija koji sadrลพi tar datoteku.

Terminal otvoren u direktoriju koji sadrลพi preuzetu tar datoteku

Ulaz,

sudo tar xzf hadoop-2.2.0.tar.gz

ExtracInstaliranje Hadoop tarballa pomoฤ‡u tar xzf-a

Sada preimenujte hadoop-2.2.0 u hadoop.

sudo mv hadoop-2.2.0 hadoop

Preimenovanje bivลกeg/bivลกetracted hadoop-2.2.0 mapa u hadoop

Na kraju, predajte mapu novom raฤunu.

sudo chown -R hduser_:hadoop_ hadoop

chown dodjeljuje hadoop mapu korisnicima hduser_ i hadoop_

Zamijenite verziju koju ste zapravo preuzeli hadoop-2.2.0 u tri gore navedene naredbe.

Dio 2) Konfigurirajte Hadoop

Korak 1) Izmijenite datoteku ~/.bashrc

Dodajte sljedeฤ‡e retke na kraj datoteke ~/.bashrc.

#Set HADOOP_HOME
export HADOOP_HOME=<Installation Directory of Hadoop>
#Set JAVA_HOME
export JAVA_HOME=<Installation Directory of Java>
# Add bin/ directory of Hadoop to PATH
export PATH=$PATH:$HADOOP_HOME/bin

bashrc datoteka s dodanim izvozima HADOOP_HOME, JAVA_HOME i PATH

Sada, pronaฤ‘ite ovu konfiguraciju okruลพenja pomoฤ‡u naredbe u nastavku.

. ~/.bashrc

Nabava bashrc-a kako bi nove varijable okruลพenja stupile na snagu

Korak 2) Konfiguracije povezane s HDFS-om

Postavite JAVA_HOME unutar datoteke $HADOOP_HOME/etc/hadoop/hadoop-env.sh, prikazane dolje.

Zadana linija JAVA_HOME unutar hadoop-env.sh

Datoteka hadoop-env.sh otvorena je u editoru i prikazuje izvoz JAVA_HOME.

Kontakt

hadoop-env.sh JAVA_HOME zamijenjen je pravim Java put instalacije

U $HADOOP_HOME/etc/hadoop/core-site.xml postoje dva parametra koja je potrebno postaviti -

1. 'hadoop.tmp.dir' โ€“ Koristi se za odreฤ‘ivanje direktorija koji ฤ‡e Hadoop koristiti za pohranu svojih podatkovnih datoteka.

2. 'fs.defaultFS' โ€“ Ovo odreฤ‘uje zadani datoteฤni sustav. Stariji naziv za isto svojstvo, 'fs.default.name', je zastario.

Za postavljanje ovih parametara otvorite core-site.xml

sudo gedit $HADOOP_HOME/etc/hadoop/core-site.xml

Otvaranje datoteke core-site.xml s gedit

Kopirajte donje retke izmeฤ‘u oznake.

<property>
<name>hadoop.tmp.dir</name>
<value>/app/hadoop/tmp</value>
<description>Parent directory for other temporary directories.</description>
</property>
<property>
<name>fs.defaultFS </name>
<value>hdfs://localhost:54310</value>
<description>The name of the default file system. </description>
</property>

core-site.xml koji sadrลพi svojstva hadoop.tmp.dir i fs.defaultFS

Idite do direktorija $HADOOP_HOME/etc/hadoop.

Terminal unutar konfiguracijskog direktorija Hadoop etc/hadoop

Sada stvorite direktorij naveden u core-site.xml.

sudo mkdir -p <Path of Directory used in above setting>

mkdir -p stvaranje putanje hadoop.tmp.dir

Dodijelite dozvole direktoriju.

sudo chown -R hduser_:Hadoop_ <Path of Directory created in above step>

chown dodjeljuje hduser_ vlasniลกtvo nad privremenim direktorijem

sudo chmod 750 <Path of Directory created in above step>

chmod 750 primijenjen na privremeni direktorij

Korak 3) Konfiguracija MapReducea

Prije nego ลกto zapoฤnemo s ovim konfiguracijama, postavimo putanju HADOOP_HOME.

sudo gedit /etc/profile.d/hadoop.sh

I Enter

export HADOOP_HOME=/home/guru99/Downloads/Hadoop

Izvoz skripte profila hadoop.sh HADOOP_HOME

Zatim unesite

sudo chmod +x /etc/profile.d/hadoop.sh

chmod +x pretvara hadoop.sh profilnu skriptu u izvrลกnu datoteku

Izaฤ‘ite iz Terminala i ponovno pokrenite.

Upiลกite echo $HADOOP_HOME za provjeru putanje.

echo $HADOOP_HOME ispis konfigurirane putanje instalacije

Sada kopirajte datoteke

sudo cp $HADOOP_HOME/etc/hadoop/mapred-site.xml.template $HADOOP_HOME/etc/hadoop/mapred-site.xml

Kopiranje datoteke mapred-site.xml.template u mapred-site.xml

Otvorite datoteku mapred-site.xml

sudo gedit $HADOOP_HOME/etc/hadoop/mapred-site.xml

Otvaranje mapred-site.xml datoteke s gedit

Dodajte postavke u nastavku izmeฤ‘u i oznake.

<property>
<name>mapreduce.jobtracker.address</name>
<value>localhost:54311</value>
<description>MapReduce job tracker runs at this host and port.
</description>
</property>

mapred-site.xml koji sadrลพi zadatak MapReduce tracker nekretnina

Otvorite $HADOOP_HOME/etc/hadoop/hdfs-site.xml kao ลกto je prikazano u nastavku,

sudo gedit $HADOOP_HOME/etc/hadoop/hdfs-site.xml

Otvaranje hdfs-site.xml datoteke s gedit

Dodajte postavke u nastavku izmeฤ‘u i oznake.

<property>
<name>dfs.replication</name>
<value>1</value>
<description>Default block replication.</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hduser_/hdfs</value>
</property>

hdfs-site.xml koji sadrลพi svojstva dfs.replication i dfs.datanode.data.dir

Stvorite direktorij naveden u gornjoj postavci.

sudo mkdir -p <Path of Directory used in above setting>
sudo mkdir -p /home/hduser_/hdfs

mkdir -p stvaranje podatkovnog direktorija DataNode

Zatim dodijelite vlasniลกtvo i dozvole za njega.

sudo chown -R hduser_:hadoop_ <Path of Directory created in above step>
sudo chown -R hduser_:hadoop_ /home/hduser_/hdfs

chown dodjeljuje hduser_ vlasniลกtvo nad podatkovnim direktorijem DataNode

sudo chmod 750 <Path of Directory created in above step>
sudo chmod 750 /home/hduser_/hdfs

chmod 750 primijenjen na podatkovni direktorij DataNode

Korak 4) Formatiranje HDFS-a

Prije nego ลกto prvi put pokrenemo Hadoop, formatirajte HDFS pomoฤ‡u naredbe u nastavku.

$HADOOP_HOME/bin/hdfs namenode -format

hdfs namenode -format izlaz formatiranje novog datoteฤnog sustava

Korak 5) Pokretanje Hadoop klastera s jednim ฤvorom

Pokrenite Hadoop klaster s jednim ฤvorom pomoฤ‡u donje naredbe.

$HADOOP_HOME/sbin/start-dfs.sh

Izlaz gornje naredbe prikazan je u nastavku.

Izlaz start-dfs.sh za pokretanje NameNode-a i DataNode-a

Zatim pokrenite YARN daemone.

$HADOOP_HOME/sbin/start-yarn.sh

Izlaz datoteke start-yarn.sh za pokretanje ResourceManagera i NodeManagera

Pomoฤ‡u alata 'jps' provjerite jesu li pokrenuti svi procesi povezani s Hadoopom.

jps izlaz s popisom pet pokrenutih Hadoop daemona

Ako je Hadoop uspjeลกno pokrenut, jps izlaz bi trebao navesti NameNode, NodeManager, ResourceManager, SecondaryNameNode i DataNode.

Korak 6) Zaustaviteping Hadoop

Iskljuฤite klaster obrnutim redoslijedom.

$HADOOP_HOME/sbin/stop-dfs.sh

Izlaz stop-dfs.sh koji iskljuฤuje HDFS daemone

$HADOOP_HOME/sbin/stop-yarn.sh

Izlaz stop-yarn.sh koji iskljuฤuje YARN daemone

Kako provjeriti radi li Hadoop i ispraviti uobiฤajene pogreลกke

Izlaz jps-a potvrฤ‘uje da su procesi pokrenuti, ali ne i da je klaster upotrebljiv. ฤŒetiri dodatne provjere rjeลกavaju to pitanje.

  • Otvorite web suฤelje NameNode na http://localhost:9870 (port 50070 na Hadoopu 2.x) i potvrdite saลพetak izvjeลกฤ‡a o jednom aktivnom ฤvoru.
  • Otvorite suฤelje ResourceManagera na http://localhost:8088 kako bi se potvrdilo da je YARN prihvatio NodeManager.
  • trฤanje hdfs dfsadmin -report za kapacitet, aktivne podatkovne ฤvorove i sve nedovoljno replicirane blokove.
  • Napiลกi neลกto: hdfs dfs -mkdir /test nakon ฤega slijedi hdfs dfs -ls / dokazuje da imenski prostor prihvaฤ‡a promjene.

Veฤ‡ina neuspjeha u prvom pokuลกaju spada u jednu od pet kategorija.

Simptom Izazvati Popraviti
JAVA_HOME nije postavljen i nije pronaฤ‘en Varijabla se izvozi u .bashrc, ali ne i u hadoop-env.sh Takoฤ‘er postavite apsolutnu JDK putanju unutar hadoop-env.sh
Dozvola odbijena (javni kljuฤ, lozinka) na ssh localhostu authorized_keys nedostaje ili je previลกe permisivan Ponovno dodajte id_rsa.pub, a zatim pokrenite chmod 600 na ~/.ssh/authorized_keys
Veza odbijena na portu 22 openssh-server nije instaliran ili ne radi Instalirajte openssh-server i pokrenite ssh servis
DataNode nedostaje iz jps-a nakon ponovnog formatiranja Cluster Neusklaฤ‘enost ID-a izmeฤ‘u formatiranog NameNode-a i starog direktorija DataNode Ispraznite mapu dfs.datanode.data.dir, a zatim je ponovno formatirajte
start-dfs.sh: naredba nije pronaฤ‘ena HADOOP_HOME i PATH nikada nisu bili preuzeti u trenutnoj ljusci Pokrenite . ~/.bashrc ili otvorite novi terminal

Pitanja i odgovori

Bilo koji aktivno podrลพan Ubuntu LTS izdanje radi, ukljuฤujuฤ‡i 22.04 i 24.04. Hadoop 3.x je izgraฤ‘en i testiran na Java 8 i Java 11, pa instalirajte jedan od tih JDK-ova; noviji JDK-ovi nisu u potpunosti podrลพani, a i stariji Java 7 verzija viลกe ne vrijedi.

Skripte start-dfs.sh i start-yarn.sh pokreฤ‡u svaki daemon putem SSH-a, ฤak i kada je jedini host localhost. Bez kljuฤa bez lozinke, skripte se zaustavljaju na upitu za lozinku i nijedan daemon se ne pokreฤ‡e.

hadoop.tmp.dir je osnovna putanja za pohranu iz koje Hadoop izvodi druge privremene lokacije. dfs.datanode.data.dir je mjesto gdje DataNode pohranjuje stvarne blok datoteke. Usmjerite drugu datoteku na trajnu pohranu, nikada na /tmp, inaฤe blokovi nestaju pri ponovnom pokretanju.

Formatirajte jednom, prije prvog pokretanja. Ponovno pokretanje formata briลกe imenski prostor i ostavlja postojeฤ‡e direktorije DataNode sa starijim ID-om klastera, zbog ฤega DataNode tada odbija registraciju i nestaje iz jps izlaza.

Da, ipak Windows potrebne su izvorne binarne datoteke winutils.exe i hadoop.dll za odgovarajuฤ‡e izdanje. Veฤ‡ina ljudi to izbjegava pokretanjem istih Ubuntu korake unutar WSL 2, koji se ponaลกa kao normalan Linux host.

Za uฤenje, da: unaprijed izgraฤ‘ena slika preskaฤe stvaranje korisnika, SSH kljuฤeve i ureฤ‘ivanje XML-a. Ruฤna instalacija se i dalje isplati jednom, jer pokazuje koja datoteka kontrolira svaku postavku kada se pravi klaster ponaลกa nepravilno.

Modeli strojnog uฤenja na temelju metrika NameNode i YARN predviฤ‘aju ograniฤenja kapaciteta, uoฤavaju iskrivljene poslove i rano oznaฤavaju diskove koji ne rade. Nekoliko platformi takoฤ‘er automatski preporuฤuje veliฤine spremnika, zamjenjujuฤ‡i veฤ‡i dio ruฤnog podeลกavanja ove konfiguracije koje je nekada bilo potrebno.

Copilot brzo izraฤ‘uje blokove svojstava core-site.xml i hdfs-site.xml te pamti toฤan pravopis. Provjerite svaki prijedlog u odnosu na dokumentaciju za svoje izdanje, jer ฤesto predlaลพe ukinuta svojstva poput mapreduce.job.tracker.adresa ili fs.default.naziv.

Saลพmite ovu objavu uz: