Hogyan telepítsük a Hadoop-ot? UbuntuLetöltési és beállítási lépések

⚡ Okos összefoglaló

Apache Hadoop telepítése Ubuntu két lépésből áll: kicsomagolja a kiadást egy dedikált rendszerfiók alatt jelszó nélküli SSH-val, majd négy XML fájlt szerkeszt a HDFS formázása és az egycsomópontos fürt elindítása előtt.

  • 🔘 Előfeltételek: Egy futó Ubuntu gép és egy támogatott Java Először a fejlesztőkészletnek a helyén kell lennie.
  • ☑️ Dedikált fiók: Hozd létre a hadoop_ csoportot és a hduser_ fiókot, hogy a démonok soha ne fussanak a bejelentkezési felhasználóddal.
  • Jelszó nélküli SSH: A Hadoop SSH-n keresztül indítja a démonokat, így az ssh localhost parancsnak jelszó kérése nélkül kell sikeresen működnie.
  • 🧪 Négy konfigurációs fájl: A hadoop-env.sh, core-site.xml, mapred-site.xml és hdfs-site.xml fájlok minden olyan beállítást tartalmaznak, amelyet ez az útmutató megváltoztat.
  • 🇧🇷 Első kezdés: Formázd meg a NameNode-ot egyszer, majd futtasd a start-dfs.sh és a start-yarn.sh fájlokat, és erősíts meg öt démont a jps paranccsal.
  • 🧭 Verzióeltolódás: A képernyőképek a Hadoop 2.2.0-t használják, ezért ellenőrizd a kiadást, a portokat és a tulajdonságneveket a Hadoop 3.x-hez képest.

Hogyan telepítsük a Hadoop-ot? Ubuntu

Ebben az oktatóanyagban lépésről lépésre bemutatjuk, hogyan telepítheti az Apache Hadoop-ot egy Linux rendszerre (Ubuntu). Ez egy két részből álló folyamat: először töltse le és telepítse a kiadást, majd konfigurálja.

Két előfeltétel van:

Hadoop 3.x verzió megjegyzései ehhez a beállításhoz

Az ebben az útmutatóban található képernyőképek Hadoop 2.2.0-s verzióban készültek. A lépések sorrendje változatlan a jelenlegi kiadásokban, de néhány név és alapértelmezett érték átkerült. Ellenőrizze az alábbi táblázatot, mielőtt bármilyen parancsot szó szerint átmásolna.

Beállítás vagy lépés Ebben az oktatóanyagban (Hadoop 2.x) Jelenlegi Hadoop 3.x
Kiadási archívum hadoop-2.2.0.tar.gz hadoop-3.5.0.tar.gz, az első stabil 3.5-ös kiadás, 2026. április 2-án jelent meg
Alapértelmezett fájlrendszer tulajdonság fs.default.name a prózában, fs.defaultFS az XML-ben fs.defaultFS csak; fs.default.name elavult
MapReduce tulajdonság mapreduce.jobtracker.address mapreduce.framework.name állítva yarn; a MunkaTracA ker már nem létezik, miután a YARN ütemezte a munkát
mapred-site.xml Másolva innen mapred-site.xml.template Beszállítják etc/hadoop már, így a másolási lépés felesleges
NameNode webes felhasználói felület portja 50070 9870
Java Java 6 vagy Java 7 Java 8 vagy Java 11

Az útmutatóban szereplő összes többi elem ugyanúgy viselkedik a Hadoop 3 rendszeren: a dedikált fiók, az SSH-kulcs, a négy konfigurációs fájl, valamint a start és stop szkriptek.

1. rész) Töltse le és telepítse a Hadoop programot

1. lépés) Hadoop rendszerfelhasználó hozzáadása

Adjon hozzá egy Hadoop rendszerfelhasználót az alábbi paranccsal.

sudo addgroup hadoop_

Terminál, amelyen a sudo addgroup hadoop_ parancs fut

sudo adduser --ingroup hadoop_ hduser_

az adduser parancs begyűjti a hduser_ adatait.

Adja meg jelszavát, nevét és egyéb adatait.

JEGYZET: A telepítési és beállítási folyamat során előfordulhat az alább említett hiba.

"hduser nincs a sudoers fájlban. Erről az esetről beszámolunk.”

Hibaüzenet: a hduser nincs a sudoers fájlban

Ez a hiba root felhasználóként való bejelentkezéssel oldható meg.

Váltás root felhasználóra a terminálban

Végezzük el a parancsot

sudo adduser hduser_ sudo

A hduser_ hozzáadása a sudo csoporthoz

Re-login as hduser_

Újra bejelentkezés hduser_ néven

2. lépés: Konfigurálja az SSH-t

A fürt csomópontjainak kezeléséhez a Hadoop SSH hozzáférést igényel.

Először váltson felhasználót, írja be a következő parancsot

su - hduser_

Felhasználóváltás su - hduser_ paranccsal

Ez a parancs új kulcsot hoz létre.

ssh-keygen -t rsa -P ""

ssh-keygen RSA kulcspárt generál a hduser_ számára

Engedélyezze az SSH-hozzáférést a helyi géphez ezzel a kulccsal.

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

Az id_rsa.pub hozzáfűzése az authorized_keys fájlhoz

Most teszteld az SSH beállítást a localhosthoz való csatlakozással 'hduser_' felhasználóként.

ssh localhost

Sikeres ssh localhost munkamenet a hduser_ felhasználó számára

Jegyzet: Ha az alábbi hibát látod az „ssh localhost” parancsra válaszul, akkor lehetséges, hogy az SSH nem érhető el ezen a rendszeren.

Az ssh localhost hibát jelez, és kapcsolat elutasítva van.

Ennek megoldására –

Törölje ki az SSH-t a

sudo apt-get purge openssh-server

Jó gyakorlat a telepítés megkezdése előtt elvégezni a tisztítást.

apt-get purge egy meglévő openssh-server csomag eltávolítása

Telepítse az SSH-t a következő paranccsal

sudo apt-get install openssh-server

apt-get telepíti az openssh-server csomagot

3. lépés) Töltse le a Hadoop programot

A következő lépés a Hadoop letöltése a következő címről: Apache Hadoop kiadási oldal.

Az Apache Hadoop kiadta az elérhető verziókat felsoroló oldalt

Válassza a Stabil lehetőséget

A stabil Hadoop kiadás könyvtárlistája

Jelöld ki a tar.gz fájlt (ne az src végződésűt).

A Hadoop tar.gz bináris fájl kiválasztása az src archívum helyett

A letöltés befejezése után keresse meg a tar fájlt tartalmazó könyvtárat.

A terminál megnyílt a letöltött tar fájlt tartalmazó könyvtárban

Enter,

sudo tar xzf hadoop-2.2.0.tar.gz

ExtracA Hadoop tarball feldolgozása tar xzf-fel

Most nevezd át a hadoop-2.2.0-t hadoop-ra.

sudo mv hadoop-2.2.0 hadoop

Az ex átnevezésetracted hadoop-2.2.0 mappa áthelyezése a hadoopba

Végül add át a mappát az új fióknak.

sudo chown -R hduser_:hadoop_ hadoop

chown a hadoop mappa hozzárendelése a hduser_ és hadoop_ könyvtárakhoz

Cserélje ki a ténylegesen letöltött verziót hadoop-2.2.0 a fenti három parancsban.

2. rész) A Hadoop konfigurálása

1. lépés) Módosítsa a ~/.bashrc fájlt

Adja hozzá a következő sorokat a ~/.bashrc fájl végéhez.

#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 fájl a HADOOP_HOME, JAVA_HOME és PATH exportokkal hozzáfűzve

Most forrásként használd ezt a környezeti konfigurációt az alábbi parancs használatával.

. ~/.bashrc

A bashrc forráskódjának beszerzése az új környezeti változók érvénybe lépéséhez

2. lépés) A HDFS-hez kapcsolódó konfigurációk

Állítsd be a JAVA_HOME értéket a $HADOOP_HOME/etc/hadoop/hadoop-env.sh fájlon belül, ahogy az alább látható.

Az alapértelmezett JAVA_HOME sor a hadoop-env.sh fájlban

A hadoop-env.sh fájl megnyílt a szerkesztőben, és a JAVA_HOME exportálás látható.

A

A hadoop-env.sh JAVA_HOME helyére a valódi került Java telepítési útvonal

A $HADOOP_HOME/etc/hadoop/core-site.xml fájlban két paramétert kell beállítani -

1. „hadoop.tmp.dir” – Annak a könyvtárnak a megadására szolgál, amelyet a Hadoop az adatfájlok tárolására fog használni.

2. „fs.defaultFS” – Ez határozza meg az alapértelmezett fájlrendszert. Ugyanennek a tulajdonságnak a régebbi neve, az „fs.default.name” elavult.

A paraméterek beállításához nyissa meg a core-site.xml fájlt

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

A core-site.xml megnyitása a következővel: gedit

Másold be az alábbi sorokat a kettő közé címkék.

<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, amely tartalmazza a hadoop.tmp.dir és fs.defaultFS tulajdonságokat

Navigáljon a $HADOOP_HOME/etc/hadoop könyvtárba.

Terminál a Hadoop etc/hadoop konfigurációs könyvtárban

Most hozd létre a core-site.xml fájlban említett könyvtárat.

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

mkdir -p a hadoop.tmp.dir elérési út létrehozása

Engedélyek megadása a könyvtárhoz.

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

chown, amely a hduser_ számára tulajdonjogot biztosít az ideiglenes könyvtárhoz

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

A chmod 750 parancsot alkalmaztuk az ideiglenes könyvtárra.

3. lépés) MapReduce konfiguráció

Mielőtt elkezdenénk ezeket a konfigurációkat, állítsuk be a HADOOP_HOME elérési utat.

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

És Enter

export HADOOP_HOME=/home/guru99/Downloads/Hadoop

hadoop.sh profil szkript exportálja a HADOOP_HOME-ot

Következő belépés

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

chmod +x parancs futtathatóvá teszi a hadoop.sh profil szkriptet

Lépj ki a terminálból, és indítsd újra.

Írja be az echo $HADOOP_HOME parancsot az elérési út ellenőrzéséhez.

echo $HADOOP_HOME kiírja a konfigurált telepítési útvonalat

Most másolja a fájlokat

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

A mapred-site.xml.template másolása a mapred-site.xml fájlba

Nyissa meg a mapred-site.xml fájlt

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

A mapred-site.xml megnyitása a következővel: gedit

Adja hozzá az alábbi beállításokat a és címkék.

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

a MapReduce feladatot tároló mapred-site.xml fájl tracker ingatlan

Nyissa meg a $HADOOP_HOME/etc/hadoop/hdfs-site.xml fájlt az alábbiak szerint:

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

A hdfs-site.xml megnyitása a következővel: gedit

Adja hozzá az alábbi beállításokat a és címkék.

<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, amely a dfs.replication és a dfs.datanode.data.dir tulajdonságokat tartalmazza

Hozza létre a fenti beállításban megadott könyvtárat.

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

mkdir -p a DataNode adatkönyvtár létrehozása

Ezután adj hozzá tulajdonjogot és engedélyeket.

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

chown, amely a hduser_ parancsra feljogosítja a DataNode adatkönyvtár tulajdonjogát

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

A chmod 750 parancsot a DataNode adatkönyvtárára alkalmaztuk

4. lépés) Formázd meg a HDFS-t

Mielőtt először elindítanánk a Hadoop-ot, formázzuk meg a HDFS-t az alábbi paranccsal.

$HADOOP_HOME/bin/hdfs namenode -format

hdfs namenode -format kimenet az új fájlrendszer formázásához

5. lépés) Indítsa el a Hadoop egycsomópontos fürtöt

Indítsa el a Hadoop egycsomópontos fürtöt az alábbi paranccsal.

$HADOOP_HOME/sbin/start-dfs.sh

A fenti parancs kimenete az alábbiakban látható.

start-dfs.sh kimenet, amely elindítja a NameNode és a DataNode csomópontokat

Ezután indítsd el a YARN démonokat.

$HADOOP_HOME/sbin/start-yarn.sh

start-yarn.sh kimenet a ResourceManager és a NodeManager indítása

A 'jps' eszköz használatával ellenőrizze, hogy az összes Hadoophoz kapcsolódó folyamat fut-e.

jps kimenet, amely felsorolja az öt futó Hadoop démont

Ha a Hadoop sikeresen elindult, a jps kimenetének a NameNode, NodeManager, ResourceManager, SecondaryNameNode és DataNode értékeket kell tartalmaznia.

6. lépés) Állj megping Hadoop

A klaszter leállítása fordított sorrendben történik.

$HADOOP_HOME/sbin/stop-dfs.sh

A stop-dfs.sh kimenet leállítja a HDFS démonokat

$HADOOP_HOME/sbin/stop-yarn.sh

A stop-yarn.sh kimenet leállítja a YARN démonokat

A Hadoop futásának ellenőrzése és a gyakori hibák javítása

A jps kimenete megerősíti a folyamatok elindulását, de nem azt, hogy a klaszter használható. Négy további ellenőrzéssel lehet eldönteni ezt a kérdést.

  • Nyissa meg a NameNode webes felületét a következő címen: http://localhost:9870 (50070-es port Hadoop 2.x rendszeren), és erősítse meg az összegző jelentéseket egy élő csomópontról.
  • Nyissa meg az Erőforrás-kezelő felületét a következő címen: http://localhost:8088 annak megerősítésére, hogy a YARN elfogadta a NodeManager-t.
  • futás hdfs dfsadmin -report kapacitás, élő DataNode-ok és alulreplikált blokkok esetében.
  • Írj valamit: hdfs dfs -mkdir /test követ hdfs dfs -ls / bizonyítja, hogy a névtér elfogadja a változtatásokat.

A legtöbb első alkalommal előforduló kudarc öt kategóriába sorolható.

Tünet Okoz Rögzít
A JAVA_HOME nincs beállítva és nem található. A változó exportálva van a .bashrc fájlba, de nem a hadoop-env.sh fájlba. Állítsa be az abszolút JDK elérési utat a hadoop-env.sh fájlon belül is
Engedély megtagadva (nyilvános kulcs, jelszó) az ssh localhost-on Az authorized_keys hiányzik vagy túl megengedő Fűzd be újra az id_rsa.pub fájlt, majd futtasd a chmod 600 parancsot a ~/.ssh/authorized_keys fájlon.
Kapcsolat elutasítva a 22-es porton Az openssh-server nincs telepítve vagy nem fut Telepítsd az openssh-server programot és indítsd el az ssh szolgáltatást
A DataNode hiányzik a jps-ből egy újraformázás után Cluster Azonosítóeltérés a formázott NameNode és a régi DataNode könyvtár között Ürítsd ki a dfs.datanode.data.dir mappát, majd formázd újra.
start-dfs.sh: parancs nem található A HADOOP_HOME és a PATH soha nem szerepeltek a jelenlegi shellben. Futtassa a . ~/.bashrc parancsot, vagy nyisson meg egy friss terminált.

GYIK

Bármely aktívan támogatott Ubuntu Az LTS kiadás működik, beleértve a 22.04-es és a 24.04-es verziókat is. A Hadoop 3.x-et a következő ellen fejlesztették és tesztelték: Java 8 és Java 11, tehát telepítsen egyet ezek közül a JDK-k közül; az újabb JDK-k nem teljesen támogatottak, a régebbiek pedig Java A 7-es buildek már nem érvényesek.

A start-dfs.sh és a start-yarn.sh szkriptek minden démont SSH-n keresztül indítanak, még akkor is, ha az egyetlen host a localhost. Jelszó nélküli kulcs nélkül a szkriptek jelszókérő mezőben leállnak, és egyetlen démon sem indul el.

A hadoop.tmp.dir az alapvető elérési út, amelyből a Hadoop más ideiglenes helyeket származtat. A dfs.datanode.data.dir az a hely, ahol a DataNode a valódi blokkfájlokat tárolja. A másodikat tartós tárolóra kell irányítani, soha nem a /tmp könyvtárba, különben a blokkok újraindításkor eltűnnek.

Formázás egyszer, az első indítás előtt. A formázás újbóli futtatása törli a névteret, és a meglévő DataNode könyvtárakban egy régebbi fürtazonosító marad, ezért a DataNode ezután nem hajlandó regisztrálni, és eltűnik a jps kimenetből.

Igen, bár Windows Szükség van a winutils.exe és a hadoop.dll natív binárisaira a megfelelő kiadáshoz. A legtöbben ezt úgy kerülik el, hogy ugyanazt a Ubuntu lépések a WSL 2-n belül, amely egy normál Linux gazdagéphez hasonlóan viselkedik.

Tanulás szempontjából igen: egy előre elkészített rendszerkép kihagyja a felhasználók létrehozását, az SSH-kulcsokat és az XML szerkesztését. A kézi telepítést továbbra is érdemes egyszer elvégezni, mert így látható, hogy melyik fájl vezérli az egyes beállításokat, amikor egy valódi klaszter hibásan működik.

A NameNode és YARN metrikákon alapuló gépi tanulási modellek előrejelzik a kapacitáskorlátokat, kiszúrják a ferde feladatokat és korán jelzik a hibás lemezeket. Számos platform automatikusan javasolja a konténerméreteket, ezzel nagyrészt kiváltva a konfiguráció manuális hangolását, ha szükséges.

A Copilot gyorsan elkészíti a core-site.xml és hdfs-site.xml tulajdonságblokkokat, és megjegyzi a pontos helyesírást. Ellenőrizze az egyes javaslatokat a kiadás dokumentációjával szemben, mivel gyakran olyan már nem használt tulajdonságokat javasol, mint a mapreduce.job.tracker.cím vagy fs.alapértelmezett.név.

Foglald össze ezt a bejegyzést a következőképpen: