Kuinka asentaa Hadoop UbuntuLataus- ja asennusvaiheet

โšก ร„lykรคs yhteenveto

Apache Hadoopin asentaminen Ubuntu vaatii kaksi vaihetta: purkaa julkaisun erilliselle jรคrjestelmรคtilille salasanattoman SSH:n avulla, sitten muokkaa neljรครค XML-tiedostoa ennen HDFS:n alustamista ja yksisolmuisen klusterin kรคynnistรคmistรค.

  • ๐Ÿ”˜ Edellytykset: Juokseva Ubuntu kone ja tuettu Java Development Kitin on oltava ensin paikoillaan.
  • โ˜‘๏ธ Omistettu tili: Luo hadoop_-ryhmรค ja hduser_-tili, jotta daemonit eivรคt koskaan toimi kirjautuneena kรคyttรคjรคnรคsi.
  • โœ… Salasanaton SSH: Hadoop kรคynnistรครค daemonit SSH:n yli, joten ssh localhost -komennon on onnistuttava ilman salasanakehotetta.
  • ๐Ÿงช Neljรค asetustiedostoa: hadoop-env.sh, core-site.xml, mapred-site.xml ja hdfs-site.xml sisรคltรคvรคt kaikki tรคssรค ohjeessa tehdyt asetukset.
  • ๐Ÿ› ๏ธ Ensimmรคinen aloitus: Muotoile NameNode kerran, suorita sitten start-dfs.sh ja start-yarn.sh ja vahvista viisi daemonia jps:llรค.
  • ๐Ÿงญ Versioliikkuvuus: Kuvakaappauksissa on kรคytetty Hadoop 2.2.0:aa, joten tarkista julkaisu, portit ja ominaisuuksien nimet Hadoop 3.x:รครคn verrattuna.

Kuinka asentaa Hadoop Ubuntu

Tรคssรค opetusohjelmassa kรคymme lรคpi vaiheittaisen prosessin Apache Hadoopin asentamiseksi Linux-tietokoneelle (Ubuntu). Tรคmรค on kaksiosainen prosessi: lataa ja asenna ensin julkaisu ja mรครคritรค se sitten.

Edellytyksiรค on kaksi:

Hadoop 3.x -version muistiinpanoja tรคlle asennukselle

Tรคmรคn ohjeen kuvakaappaukset on otettu Hadoop 2.2.0:lla. Vaihejรคrjestys on pysynyt muuttumattomana nykyisissรค versioissa, mutta joitakin nimiรค ja oletusarvoja on siirretty. Tarkista alla oleva taulukko ennen kuin kopioit mitรครคn komentoja sanatarkasti.

Asetus tai vaihe Tรคssรค opetusohjelmassa (Hadoop 2.x) Nykyinen Hadoop 3.x
Julkaisuarkisto hadoop-2.2.0.tar.gz hadoop-3.5.0.tar.gz, ensimmรคinen vakaa 3.5-julkaisu, julkaistu 2. huhtikuuta 2026
Oletustiedostojรคrjestelmรคn ominaisuus fs.default.name proosassa fs.defaultFS XML-tiedostossa fs.defaultFS vain; fs.default.name on vanhentunut
MapReduce-ominaisuus mapreduce.jobtracker.address mapreduce.framework.name asetettu yarnTyรถTracker-funktiota ei enรครค ole olemassa, kun YARN aikatauluttaa tyรถn
mapred-site.xml Kopioitu kohteesta mapred-site.xml.template Lรคhetetรครคn sisรครคn etc/hadoop jo, joten kopiointivaihe on tarpeeton
NameNode-verkkokรคyttรถliittymรคn portti 50070 9870
Java Java 6 tai Java 7 Java 8 tai Java 11

Kaikki muu tรคssรค oppaassa toimii samalla tavalla Hadoop 3:ssa: erillinen tili, SSH-avain, neljรค mรครคritystiedostoa sekรค aloitus- ja lopetusskriptit.

Osa 1) Lataa ja asenna Hadoop

Vaihe 1) Lisรครค Hadoop-jรคrjestelmรคn kรคyttรคjรค

Lisรครค Hadoop-jรคrjestelmรคn kรคyttรคjรค alla olevalla komennolla.

sudo addgroup hadoop_

Pรครคte suorittaa sudo addgroup hadoop_ -komennon

sudo adduser --ingroup hadoop_ hduser_

adduser-kehotte kerรครค tietoja kรคyttรคjรคlle hduser_

Anna salasanasi, nimesi ja muut tiedot.

HUOMAUTUS: Tรคssรค asennusprosessissa on mahdollista, ettรค esiintyy alla mainittu virhe.

"hduser ei ole sudoers-tiedostossa. Tรคstรค tapauksesta tiedotetaan."

Virheilmoitus: hduser-kรคyttรคjรครค ei ole sudoers-tiedostossa

Tรคmรค virhe voidaan korjata kirjautumalla sisรครคn pรครคkรคyttรคjรคnรค.

Pรครคkรคyttรคjรคksi vaihtaminen terminaalissa

Suorita komento

sudo adduser hduser_ sudo

hduser_-funktion lisรครคminen sudo-ryhmรครคn

Re-login as hduser_

Kirjaudu uudelleen sisรครคn nimellรค hduser_

Vaihe 2) Mรครคritรค SSH

Solmujen hallintaan klusterissa Hadoop vaatii SSH-yhteyden.

Vaihda ensin kรคyttรคjรครค ja anna seuraava komento

su - hduser_

Kรคyttรคjรคn vaihtaminen su-komennolla - hduser_

Tรคmรค komento luo uuden avaimen.

ssh-keygen -t rsa -P ""

ssh-keygen luo RSA-avainparin hduser_-palvelimelle

Ota SSH-yhteys paikalliseen koneeseen kรคyttรถรถn tรคllรค avaimella.

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

id_rsa.pub-tiedoston lisรครคminen authorized_keys-tiedostoon

Testaa nyt SSH-asetuksia muodostamalla yhteys localhostiin kรคyttรคjรคnรค 'hduser_'.

ssh localhost

Onnistui ssh localhost -istunto kรคyttรคjรคlle hduser_

Huomautus: Jos nรคet alla olevan virheen vastauksena 'ssh localhost' -komennolle, on mahdollista, ettรค SSH ei ole kรคytettรคvissรค tรคssรค jรคrjestelmรคssรค.

ssh localhost epรคonnistuu ja yhteys estyy -virhe

Tรคmรคn ratkaisemiseksi -

Tyhjennรค SSH kรคyttรคmรคllรค

sudo apt-get purge openssh-server

On hyvรค kรคytรคntรถ tyhjentรครค se ennen asennuksen aloittamista.

apt-get purge poistaa olemassa olevan openssh-server-paketin

Asenna SSH komennolla-

sudo apt-get install openssh-server

apt-get asentaa openssh-server-paketin

Vaihe 3) Lataa Hadoop

Seuraava vaihe on ladata Hadoop osoitteesta Apache Hadoopin julkaisusivu.

Apache Hadoop julkaisee sivun, jossa luetellaan saatavilla olevat versiot

Valitse Vakaa

Hakemistoluettelo vakaalle Hadoop-julkaisulle

Valitse tar.gz-tiedosto (ei src-pรครคtteistรค tiedostoa).

Hadoop tar.gz -binรครคritiedoston valitseminen src-arkiston sijaan

Kun lataus on valmis, siirry tar-tiedoston sisรคltรคvรครคn hakemistoon.

Pรครคte avattiin hakemistossa, jossa ladattu tar-tiedosto on

Enter,

sudo tar xzf hadoop-2.2.0.tar.gz

ExtracHadoop-tarballin tรคyttรถ tar xzf:llรค

Nimeรค nyt hadoop-2.2.0 uudelleen nimellรค hadoop.

sudo mv hadoop-2.2.0 hadoop

Entisen uudelleennimeรคminentracted hadoop-2.2.0 -kansion Hadoopiin

Lopuksi anna kansio uudelle tilille.

sudo chown -R hduser_:hadoop_ hadoop

chownin mรครคrittรคminen hadoop-kansiolle hduser_ ja hadoop_

Korvaa lataamasi versio hadoop-2.2.0 kolmessa yllรค olevassa komennossa.

Osa 2) Mรครคritรค Hadoop

Vaihe 1) Muokkaa ~/.bashrc-tiedostoa

Lisรครค seuraavat rivit tiedoston ~/.bashrc loppuun.

#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-tiedosto, johon on liitetty HADOOP_HOME-, JAVA_HOME- ja PATH-viennit

Nyt lรคhdekoodin luo tรคmรค ympรคristรถn kokoonpano alla olevalla komennolla.

. ~/.bashrc

Bashrcin lรคhdekoodin hakeminen uusien ympรคristรถmuuttujien kรคyttรถรถn ottamiseksi

Vaihe 2) HDFS:รครคn liittyvรคt konfiguraatiot

Aseta JAVA_HOME tiedostoon $HADOOP_HOME/etc/hadoop/hadoop-env.sh, kuten alla nรคkyy.

Oletusarvoinen JAVA_HOME-rivi hadoop-env.sh-tiedostossa

hadoop-env.sh avattiin editorissa ja nรคkyi JAVA_HOME-vienti.

Kanssa

hadoop-env.sh JAVA_HOME korvattu oikealla Java asennuspolku

Tiedostossa $HADOOP_HOME/etc/hadoop/core-site.xml on kaksi parametria, jotka on asetettava:

1. 'hadoop.tmp.dir' โ€“ Kรคytetรครคn mรครคrittรคmรครคn hakemisto, jota Hadoop kรคyttรครค datatiedostojensa tallentamiseen.

2. 'fs.defaultFS' โ€“ Tรคmรค mรครคrittรครค oletusarvoisen tiedostojรคrjestelmรคn. Saman ominaisuuden vanhempi nimi, 'fs.default.name', on vanhentunut.

Aseta nรคmรค parametrit avaamalla core-site.xml

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

Avataan core-site.xml-tiedosto gedit

Kopioi alla olevat rivit tekstin vรคliin tunnisteet.

<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, joka sisรคltรครค hadoop.tmp.dir- ja fs.defaultFS-ominaisuudet

Siirry hakemistoon $HADOOP_HOME/etc/hadoop.

Pรครคte Hadoop etc/hadoop -mรครคrityshakemistossa

Luo nyt core-site.xml-tiedostossa mainittu hakemisto.

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

mkdir -p luo hadoop.tmp.dir-polun

Myรถnnรค hakemistoon kรคyttรถoikeudet.

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

chown myรถntรครค hduser_:lle vรคliaikaisen hakemiston omistajuuden

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

chmod 750 -komentoa sovelletaan vรคliaikaiseen hakemistoon

Vaihe 3) MapReduce-konfiguraatio

Ennen kuin aloitat nรคiden mรครคritysten kanssa, asetetaan HADOOP_HOME-polku.

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

Ja Enter

export HADOOP_HOME=/home/guru99/Downloads/Hadoop

hadoop.sh-profiiliskripti, joka vie HADOOP_HOME-tiedoston

Seuraavaksi syรถtรค

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

chmod +x tekee hadoop.sh-profiiliskriptistรค suoritettavan

Poistu terminaalista ja kรคynnistรค se uudelleen.

Tarkista polku kirjoittamalla echo $HADOOP_HOME.

echo $HADOOP_HOME tulostaa konfiguroidun asennuspolun

Kopioi nyt tiedostot

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

Kopioidaan tiedostoa mapred-site.xml.template tiedostoon mapred-site.xml

Avaa mapred-site.xml-tiedosto

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

Avataan mapred-site.xml-tiedosto sovelluksella gedit

Lisรครค alla olevat asetukset vรคliin ja tunnisteet.

<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, joka sisรคltรครค MapReduce-tyรถn tracker-kiinteistรถ

Avaa $HADOOP_HOME/etc/hadoop/hdfs-site.xml alla olevan mukaisesti,

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

hdfs-site.xml-tiedoston avaaminen gedit

Lisรครค alla olevat asetukset vรคliin ja tunnisteet.

<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, joka sisรคltรครค ominaisuudet dfs.replication ja dfs.datanode.data.dir

Luo yllรค olevassa asetuksessa mรครคritetty hakemisto.

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

mkdir -p luo DataNode-tietohakemiston

Sitten myรถnnรค sille omistajuus ja kรคyttรถoikeudet.

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

chown myรถntรครค hduser_:lle DataNode-tietohakemiston omistajuuden

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

chmod 750 -komentoa sovellettiin DataNode-tietokantaan

Vaihe 4) Alusta HDFS

Ennen kuin kรคynnistรคmme Hadoopin ensimmรคistรค kertaa, alusta HDFS alla olevalla komennolla.

$HADOOP_HOME/bin/hdfs namenode -format

hdfs namenode -format tuloste uuden tiedostojรคrjestelmรคn muotoilu

Vaihe 5) Kรคynnistรค Hadoop-yksisolmuklusteri

Kรคynnistรค Hadoopin yhden solmun klusteri alla olevalla komennolla.

$HADOOP_HOME/sbin/start-dfs.sh

Yllรค olevan komennon tuloste on esitetty alla.

start-dfs.sh-tuloste kรคynnistรครค NameNode- ja DataNode-solmut

Kรคynnistรค sitten YARN-daemonit.

$HADOOP_HOME/sbin/start-yarn.sh

start-yarn.sh-tuloste ResourceManagerin ja NodeManagerin kรคynnistรคminen

Tarkista 'jps'-tyรถkalulla, ovatko kaikki Hadoopiin liittyvรคt prosessit kรคynnissรค.

jps-tuloste, jossa luetellaan viisi kรคynnissรค olevaa Hadoop-daemonia

Jos Hadoop on kรคynnistynyt onnistuneesti, jps-tulosteen pitรคisi sisรคltรครค NameNode, NodeManager, ResourceManager, SecondaryNameNode ja DataNode.

Vaihe 6) Pysรคhdyping Hadoop

Sammuta klusteri kรครคnteisessรค jรคrjestyksessรค.

$HADOOP_HOME/sbin/stop-dfs.sh

stop-dfs.sh-komento sulkee HDFS-daemonit

$HADOOP_HOME/sbin/stop-yarn.sh

stop-yarn.sh-komennon tuloste, joka sulkee YARN-daemonit

Kuinka varmistaa, ettรค Hadoop on kรคynnissรค, ja korjata yleisiรค virheitรค

jps-tuloste vahvistaa prosessien kรคynnistymisen, mutta ei sitรค, ettรค klusteri on kรคyttรถkelpoinen. Neljรค lisรคtarkistusta ratkaisee tรคmรคn kysymyksen.

  • Avaa NameNoden web-kรคyttรถliittymรค osoitteessa http://localhost:9870 (portti 50070 Hadoop 2.x:ssรค) ja vahvista, ettรค yhteenveto raportoi yhden aktiivisen solmun.
  • Avaa ResourceManager-kรคyttรถliittymรค osoitteessa http://localhost:8088 vahvistaakseen, ettรค YARN hyvรคksyi NodeManagerin.
  • ajaa hdfs dfsadmin -report kapasiteetin, aktiivisten DataNodejen ja alireplikoitujen lohkojen osalta.
  • Kirjoita jotain: hdfs dfs -mkdir /test jรคlkeen hdfs dfs -ls / todistaa, ettรค nimiavaruus hyvรคksyy muutokset.

Useimmat ensimmรคiset epรคonnistumiset kuuluvat johonkin viidestรค kategoriasta.

Oire Aiheuttaa Korjata
JAVA_HOME-tiedostoa ei ole asetettu eikรค sitรค lรถydetty. Muuttuja viedรครคn .bashrc-tiedostoon, mutta ei hadoop-env.sh-tiedostoon. Aseta absoluuttinen JDK-polku myรถs hadoop-env.sh-tiedoston sisรคllรค
Kรคyttรถoikeus evรคtty (julkinen avain, salasana) ssh localhostissa authorized_keys puuttuu tai on liian salliva Liitรค id_rsa.pub uudelleen ja suorita sitten chmod 600 hakemistossa ~/.ssh/authorized_keys
Yhteys estetty portissa 22 openssh-palvelinta ei ole asennettu tai se ei ole kรคynnissรค Asenna openssh-server ja kรคynnistรค ssh-palvelu
DataNode puuttuu jps:stรค uudelleenmuotoilun jรคlkeen Cluster Muotoillun NameNode-hakemiston ja vanhan DataNode-hakemiston ID-ristiriita Tyhjennรค dfs.datanode.data.dir-kansio ja alusta se uudelleen.
start-dfs.sh: komentoa ei lรถytynyt HADOOP_HOME- ja PATH-metodeja ei koskaan sisรคllytetty nykyiseen komentotulkkiin. Suorita .~/.bashrc tai avaa uusi pรครคte

UKK

Kaikki aktiivisesti tuetut Ubuntu LTS-julkaisu toimii, mukaan lukien versiot 22.04 ja 24.04. Hadoop 3.x on rakennettu ja testattu sitรค vastaan Java 8 ja Java 11, joten asenna jokin nรคistรค JDK-kehityspaketeista; uudempia JDK-kehityspaketeista ei ole tรคysin tuettu ja vanhempia Java 7-koontiversiot eivรคt enรครค ole voimassa.

start-dfs.sh- ja start-yarn.sh-skriptit kรคynnistรคvรคt kaikki daemon-palvelimet SSH:n kautta, vaikka ainoa isรคntรค olisi localhost. Ilman salasanatonta avainta skriptit pysรคhtyvรคt salasanakehotteeseen eikรค daemon kรคynnisty.

hadoop.tmp.dir on peruspolku, josta Hadoop johtaa muut vรคliaikaiset sijainnit. dfs.datanode.data.dir on paikka, jossa DataNode sรคilyttรครค oikeita lohkotiedostoja. Osoita toinen pysyvรครคn tallennustilaan, ei koskaan osoitteeseen /tmp, tai lohkot katoavat uudelleenkรคynnistyksen yhteydessรค.

Alusta kerran ennen ensimmรคistรค kรคynnistystรค. Alustuksen uudelleen suorittaminen tyhjentรครค nimiavaruuden ja jรคttรครค olemassa oleviin DataNode-hakemistoihin vanhemman klusteritunnuksen, minkรค vuoksi DataNode kieltรคytyy rekisterรถitymรคstรค ja katoaa jps-tulosteesta.

Kyllรค Windows tarvitsee winutils.exe- ja hadoop.dll-natiivit binรครคrit vastaavaa julkaisua varten. Useimmat ihmiset vรคlttรคvรคt tรคmรคn suorittamalla saman Ubuntu askeleet WSL 2:n sisรคllรค, joka toimii kuin normaali Linux-isรคntรค.

Oppimisen kannalta kyllรค: valmiiksi rakennettu levykuva ohittaa kรคyttรคjien luonnin, SSH-avaimet ja XML-muokkauksen. Kรคsin asentaminen kannattaa silti tehdรค kerran, koska se nรคyttรครค, mikรค tiedosto hallitsee mitรคkin asetusta, kun todellinen klusteri toimii virheellisesti.

Koneoppimismallit NameNode- ja YARN-mittareiden avulla ennustavat kapasiteettirajoituksia, havaitsevat vรครคristyneitรค tรถitรค ja merkitsevรคt vialliset levyt varhaisessa vaiheessa. Useat alustat suosittelevat myรถs sรคilรถkokoja automaattisesti, mikรค korvaa suuren osan tรคmรคn kokoonpanon manuaalisesta sรครคtรคmisestรค, joka tarvitaan tarvittaessa.

Copilot luonnostelee core-site.xml- ja hdfs-site.xml-ominaisuuslohkot nopeasti ja muistaa niiden tarkan kirjoitusasun. Tarkista jokainen ehdotus julkaisusi dokumentaatiota vasten, koska se usein ehdottaa kรคytรถstรค poistettuja ominaisuuksia, kuten mapreduce.job.tracker.osoite tai fs.default.nimi.

Tiivistรค tรคmรค viesti seuraavasti: