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: