Kuidas Hadoopi installida UbuntuAllalaadimise ja seadistamise sammud

⚡ Nutikas kokkuvõte

Apache Hadoopi installimine Ubuntu See nõuab kahte etappi: lahtipakki väljalase spetsiaalse süsteemikonto alla paroolivaba SSH-ühenduse abil, seejärel redigeeri nelja XML-faili enne HDFS-i vormindamist ja ühesõlmelise klastri käivitamist.

  • 🔘 Eeldused: Jooksev Ubuntu masin ja toetatud Java Arenduskomplekt peab esmalt paigas olema.
  • ☑️ Spetsiaalne konto: Loo hadoop_ grupp ja hduser_ konto, et deemonid ei käivituks kunagi sinu sisselogitud kasutajana.
  • Paroolivaba SSH: Hadoop käivitab deemonid SSH kaudu, seega peab ssh localhost õnnestuma ilma parooli küsimata.
  • 🧪 Neli konfiguratsioonifaili: hadoop-env.sh, core-site.xml, mapred-site.xml ja hdfs-site.xml sisaldavad kõiki selle juhendi muudatusi.
  • 🛠️ Esimene algus: Vorminda NameNode üks kord, seejärel käivita start-dfs.sh ja start-yarn.sh ning kinnita viis deemonit jps-iga.
  • 🧭 Versiooni triiv: Kuvatõmmised kasutavad Hadoop 2.2.0, seega kontrollige versiooni, porte ja omaduste nimesid Hadoop 3.x-ga võrreldes.

Kuidas Hadoopi installida Ubuntu

Selles õpetuses juhendame teid samm-sammult Apache Hadoopi installimise protsessis Linuxi süsteemi (Ubuntu). See on kaheosaline protsess: esmalt laadige alla ja installige väljalase ning seejärel konfigureerige see.

Selleks on kaks eeltingimust:

Hadoop 3.x versiooni märkmed selle seadistuse kohta

Selle juhendi ekraanipildid on jäädvustatud Hadoop 2.2.0-ga. Sammude järjestus on praegustes versioonides muutmata, kuid mõned nimed ja vaikesätted on muutunud. Enne mis tahes käsu sõna-sõnalt kopeerimist kontrollige allolevat tabelit.

Seadistus või samm Selles õpetuses (Hadoop 2.x) Praegune Hadoop 3.x
Väljalaske arhiiv hadoop-2.2.0.tar.gz hadoop-3.5.0.tar.gz, esimene stabiilne 3.5 väljalase, avaldatud 2. aprillil 2026
Vaikimisi failisüsteemi omadus fs.default.name proosas fs.defaultFS XML-is fs.defaultFS ainult; fs.default.name on aegunud
MapReduce'i omadus mapreduce.jobtracker.address mapreduce.framework.name seatud yarnTööTracker ei eksisteeri enam, kui YARN töö ajastab
mapred-site.xml Kopeeritud saidilt mapred-site.xml.template Saadetakse sisse etc/hadoop juba olemas, seega kopeerimise samm pole vajalik
NameNode veebiliidese port 50070 9870
Java Java 6 või Java 7 Java 8 või Java 11

Kõik muu selles juhendis käitub Hadoop 3-s samamoodi: spetsiaalne konto, SSH-võti, neli konfiguratsioonifaili ning käivitus- ja peatusskriptid.

Osa 1) Laadige alla ja installige Hadoop

1. samm) Lisage Hadoopi süsteemi kasutaja

Lisage Hadoopi süsteemi kasutaja alloleva käsu abil.

sudo addgroup hadoop_

Terminalis töötab sudo addgroup hadoop_

sudo adduser --ingroup hadoop_ hduser_

adduser viiba kogub hduser_ üksikasju

Sisestage oma parool, nimi ja muud andmed.

MÄRKUS: Selle seadistamis- ja installiprotsessi käigus on võimalik allpool mainitud tõrge.

"hduser ei ole sudoersi failis. Sellest juhtumist teatatakse."

Veateade: hduser ei ole sudoersi failis

Selle vea saab lahendada root-kasutajana sisse logides.

Terminalis root-kasutajale üleminek

Käivitage käsk

sudo adduser hduser_ sudo

hduser_ lisamine sudo gruppi

Re-login as hduser_

Login uuesti sisse kasutajana hduser_

Samm 2) Konfigureerige SSH

Klastri sõlmede haldamiseks vajab Hadoop SSH-juurdepääsu.

Esmalt vahetage kasutajat ja sisestage järgmine käsk

su - hduser_

Kasutaja vahetamine su-ga - hduser_

See käsk loob uue võtme.

ssh-keygen -t rsa -P ""

ssh-keygen genereerib RSA võtmepaari hduser_ jaoks

Luba selle võtme abil SSH-juurdepääs kohalikule masinale.

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

id_rsa.pub lisamine faili authorized_keys

Nüüd testige SSH seadistust, ühendudes localhostiga kasutajana 'hduser_'.

ssh localhost

Edukas ssh localhost seanss kasutajale hduser_

Märge: Kui näete vastusena käsule „ssh localhost” allolevat veateadet, on võimalik, et SSH pole selles süsteemis saadaval.

ssh localhost nurjus ühenduse keeldumise veaga

Selle lahendamiseks –

Puhastage SSH, kasutades

sudo apt-get purge openssh-server

Enne paigaldamise alustamist on hea tava puhastada.

apt-get purge olemasoleva openssh-server paketi eemaldamine

Installige SSH, kasutades käsku-

sudo apt-get install openssh-server

apt-get installib openssh-serveri paketi

Samm 3) Laadige alla Hadoop

Järgmine samm on Hadoopi allalaadimine saidilt Apache Hadoopi väljaannete leht.

Apache Hadoop avaldab lehe, kus on loetletud saadaolevad versioonid

Valige Stabiilne

Hadoopi stabiilse versiooni kataloogiloend

Valige fail tar.gz (mitte fail, mille laiendiks on src).

Hadoopi tar.gz binaarfaili valimine src arhiivi asemel

Kui allalaadimine on lõppenud, navigeerige kataloogi, kus asub tar-fail.

Terminal avati kataloogis, kus asub allalaaditud tar-fail

sisesta,

sudo tar xzf hadoop-2.2.0.tar.gz

ExtracHadoopi tarballi täitmine tar xzf-iga

Nüüd nimeta hadoop-2.2.0 ümber hadoopiks.

sudo mv hadoop-2.2.0 hadoop

Endise ümbernimetaminetracted hadoop-2.2.0 kausta Hadoopi

Lõpuks andke kaust uuele kontole üle.

sudo chown -R hduser_:hadoop_ hadoop

chown määrab hadoop kausta hduser_ ja hadoop_ kasutajatele

Asenda see versioon, mille sa tegelikult alla laadisid hadoop-2.2.0 kolmes ülaltoodud käsus.

2. osa) Hadoopi konfigureerimine

1. samm) Muutke faili ~/.bashrc

Lisa faili ~/.bashrc lõppu järgmised read.

#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 fail koos lisatud HADOOP_HOME, JAVA_HOME ja PATH eksportidega

Nüüd hankige see keskkonnakonfiguratsioon alloleva käsu abil.

. ~/.bashrc

Bashrc hankimine uute keskkonnamuutujate jõustumiseks

2. samm) HDFS-iga seotud konfiguratsioonid

Seadista JAVA_HOME faili $HADOOP_HOME/etc/hadoop/hadoop-env.sh, nagu allpool näidatud.

Vaikimisi JAVA_HOME rida failis hadoop-env.sh

hadoop-env.sh avati redaktoris, kus kuvatakse JAVA_HOME eksporti

koos

hadoop-env.sh JAVA_HOME asendati tegeliku Java paigaldustee

Failis $HADOOP_HOME/etc/hadoop/core-site.xml on kaks parameetrit, mis tuleb määrata -

1. „hadoop.tmp.dir” – Kasutatakse kataloogi määramiseks, mida Hadoop kasutab oma andmefailide salvestamiseks.

2. „fs.defaultFS” – See määrab vaikimisi failisüsteemi. Sama atribuudi vanem nimi „fs.default.name” on aegunud.

Nende parameetrite määramiseks avage core-site.xml

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

Core-site.xml avamine gedit

Kopeeri allolevad read nende vahele sildid.

<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, mis sisaldab hadoop.tmp.dir ja fs.defaultFS omadusi

Navigeeri kataloogi $HADOOP_HOME/etc/hadoop.

Terminal Hadoop etc/hadoop konfiguratsioonikataloogis

Nüüd looge failis core-site.xml mainitud kataloog.

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

mkdir -p loob hadoop.tmp.dir tee

Andke kataloogile õigused.

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

chown annab hduser_ile ajutise kataloogi omandiõiguse

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

chmod 750 rakendatud ajutisele kataloogile

3. samm) MapReduce'i seadistamine

Enne nende konfiguratsioonidega alustamist määrame HADOOP_HOME tee.

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

Ja Sisestage

export HADOOP_HOME=/home/guru99/Downloads/Hadoop

hadoop.sh profiili skript, mis eksportib HADOOP_HOME'i

Järgmisena sisestage

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

chmod +x, mis muudab hadoop.sh profiiliskripti käivitatavaks

Väljuge terminalist ja taaskäivitage uuesti.

Tee kinnitamiseks tippige echo $HADOOP_HOME.

echo $HADOOP_HOME prindib konfigureeritud installitee

Nüüd kopeerige failid

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

Faili mapred-site.xml.template kopeerimine faili mapred-site.xml

Avage fail mapred-site.xml

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

Mapred-site.xml avamine gedit

Lisage allolevad sätted vahele ja sildid.

<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, mis hoiab MapReduce'i tööd tracker vara

Avage $HADOOP_HOME/etc/hadoop/hdfs-site.xml nagu allpool näidatud,

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

hdfs-site.xml avamine gedit

Lisage allolevad sätted vahele ja sildid.

<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, mis sisaldab atribuute dfs.replication ja dfs.datanode.data.dir

Looge ülaltoodud seadistuses määratud kataloog.

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

mkdir -p loob DataNode andmekataloogi

Seejärel andke sellele omandiõigus ja õigused.

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

chown, mis annab hduser_ile DataNode andmekataloogi omandiõiguse

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

chmod 750 rakendati DataNode andmekataloogile

4. samm) HDFS-i vormindamine

Enne Hadoopi esmakordset käivitamist vormindage HDFS alloleva käsu abil.

$HADOOP_HOME/bin/hdfs namenode -format

hdfs namenode -format väljund uue failisüsteemi vormindamiseks

5. samm) Käivitage Hadoopi ühe sõlme klaster

Käivitage Hadoopi ühe sõlme klaster alloleva käsuga.

$HADOOP_HOME/sbin/start-dfs.sh

Ülaltoodud käsu väljund on näidatud allpool.

start-dfs.sh väljund, mis käivitab NameNode'i ja DataNode'i

Seejärel käivitage YARN-deemonid.

$HADOOP_HOME/sbin/start-yarn.sh

start-yarn.sh väljund käivitab ResourceManageri ja NodeManageri

Kontrollige tööriista 'jps' abil, kas kõik Hadoopiga seotud protsessid töötavad.

jps väljund, mis loetleb viis töötavat Hadoopi deemonit

Kui Hadoop on edukalt käivitunud, peaks jps-i väljund kuvama NameNode, NodeManager, ResourceManager, SecondaryNameNode ja DataNode.

6. samm) Peatusping hadoop

Klapi sulgemine toimub vastupidises järjekorras.

$HADOOP_HOME/sbin/stop-dfs.sh

stop-dfs.sh väljund HDFS-deemonite sulgemiseks

$HADOOP_HOME/sbin/stop-yarn.sh

stop-yarn.sh väljund, mis sulgeb YARN-deemonid

Kuidas kontrollida, kas Hadoop töötab, ja parandada levinud vigu

jps-i väljund kinnitab protsesside käivitumist, kuid mitte klastri kasutatavust. Sellele küsimusele vastavad neli lisakontrolli.

  • Ava NameNode veebiliides aadressil http://localhost:9870 (Hadoop 2.x-il port 50070) ja kinnitage, et kokkuvõte annab aru ühest aktiivsest sõlmest.
  • Avage ResourceManageri liides aadressil http://localhost:8088 et kinnitada, et YARN aktsepteeris NodeManageri.
  • jooks hdfs dfsadmin -report mahutavuse, reaalajas andmesõlmede ja kõigi alakasutatud plokkide puhul.
  • Kirjuta midagi: hdfs dfs -mkdir /test järgnevad hdfs dfs -ls / tõestab, et nimeruum aktsepteerib muudatusi.

Enamik esmakordseid ebaõnnestumisi jaguneb ühte viiest kategooriast.

Sümptom Põhjus Määrama
JAVA_HOME pole määratud ja seda ei leitud Muutuja eksporditakse faili .bashrc, aga mitte faili hadoop-env.sh Määrake ka absoluutne JDK tee failis hadoop-env.sh
Luba keelatud (avalik võti, parool) ssh localhost'is authorized_keys puudub või on liiga lubav Lisa uuesti id_rsa.pub ja seejärel käivita chmod 600 failil ~/.ssh/authorized_keys
Ühendus keelatud pordil 22 openssh-server pole installitud või ei tööta Paigalda openssh-server ja käivita ssh-teenus
JPS-ist puudub pärast ümbervormindamist DataNode Cluster Vormindatud NameNode'i ja vana DataNode'i kataloogi ID ei vasta nõuetele Tühjenda kaust dfs.datanode.data.dir ja vorminda see uuesti.
start-dfs.sh: käsku ei leitud HADOOP_HOME ja PATH ei olnud praeguses kestas kunagi allikana olemas Käivita .~/.bashrc või ava uus terminal

KKK

Kõik aktiivselt toetatud Ubuntu LTS-väljalase töötab, sealhulgas versioonid 22.04 ja 24.04. Hadoop 3.x on ehitatud ja testitud selle vastu Java 8 ja Java 11, seega installige üks neist JDK-dest; uuemad JDK-d pole täielikult toetatud ja vanemad Java 7 versiooni enam ei kehti.

Skriptid start-dfs.sh ja start-yarn.sh käivitavad kõik deemoni SSH kaudu, isegi kui ainus host on localhost. Ilma paroolita võtmeta skriptid parooliviibal seisavad ja deemon ei käivitu.

hadoop.tmp.dir on baas-alternatiivrada, millest Hadoop tuletab teisi ajutisi asukohti. dfs.datanode.data.dir on koht, kus DataNode hoiab päris plokkfaile. Teine fail suunatakse püsivale salvestusruumile, mitte kunagi aadressile /tmp, vastasel juhul kaovad plokid taaskäivitamisel.

Vorminda üks kord enne esimest käivitamist. Vormindamise uuesti käivitamine kustutab nimeruumi ja jätab olemasolevad DataNode kataloogid vanema klastri ID-ga, mistõttu DataNode keeldub registreerimast ja kaob jps-i väljundist.

Jah, kuigi Windows vajab vastava versiooni jaoks winutils.exe ja hadoop.dll natiivseid binaarfaile. Enamik inimesi väldib seda sama versiooni käivitamisega. Ubuntu sammud WSL 2 sees, mis käitub nagu tavaline Linuxi host.

Õppimiseks jah: eelinstallitud kujutis jätab vahele kasutajate loomise, SSH-võtmete ja XML-i redigeerimise. Käsitsi installimine on siiski üks kord väärt tegemist, sest see näitab, milline fail kontrollib iga sätet, kui päris klaster valesti toimib.

NameNode'i ja YARN-i mõõdikutel põhinevad masinõppe mudelid ennustavad mahutavuse piiranguid, tuvastavad ebaühtlaseid töid ja märgistavad rikkis kettaid varakult. Mitmed platvormid soovitavad konteinerite suurusi automaatselt, asendades suure osa käsitsi seadistamisest, mida oleks pidanud vajadusel tegema.

Copilot koostab core-site.xml ja hdfs-site.xml atribuutide plokid kiiresti ja jätab meelde täpse kirjapildi. Kontrollige iga soovitust oma versiooni dokumentatsiooni alusel, sest see pakub sageli välja aegunud omadusi, näiteks mapreduce.job.tracker.aadress või fs.vaikimisi.nimi.

Võta see postitus kokku järgmiselt: