Hoe Hadoop op RHEL 8 / CentOS 8 Linux te installeren

  • Giles Benson
  • 0
  • 4278
  • 913
>

Apache Hadoop is een open source framework dat wordt gebruikt voor gedistribueerde opslag en gedistribueerde verwerking van big data op clusters van computers die op standaardhardware draaien. Hadoop slaat gegevens op in Hadoop Distributed File System (HDFS) en de verwerking van deze gegevens gebeurt met MapReduce. YARN biedt API voor het aanvragen en toewijzen van bronnen in het Hadoop-cluster.

Het Apache Hadoop-framework is samengesteld uit de volgende modules:
  • Hadoop Common
  • Hadoop gedistribueerd bestandssysteem (HDFS)
  • GAREN
  • MapReduce

In dit artikel wordt uitgelegd hoe Hadoop versie 2 op RHEL 8 of CentOS 8 moet worden geïnstalleerd. We zullen HDFS (Namenode en Datanode), YARN, MapReduce installeren op het cluster met één knooppunt in Pseudo Distributed Mode, een gedistribueerde simulatie op een enkele machine. Elke Hadoop-daemon zoals hdfs, yarn, mapreduce etc. zal als een afzonderlijk / individueel Java-proces worden uitgevoerd.

In deze tutorial leer je:
  • Gebruikers toevoegen voor Hadoop-omgeving
  • Hoe Oracle JDK te installeren en configureren
  • Hoe wachtwoordloze SSH te configureren
  • Hoe Hadoop te installeren en de nodige gerelateerde xml-bestanden te configureren
  • Hoe u het Hadoop-cluster start
  • Toegang krijgen tot NameNode en ResourceManager Web UI
HDFS-architectuur.

Gebruikte softwarevereisten en -conventies

Softwarevereisten en Linux Command Line-conventies
Categorie Vereisten, conventies of gebruikte softwareversie
Systeem RHEL 8 / CentOS 8
Software Hadoop 2.8.5, Oracle JDK 1.8
Andere Bevoorrechte toegang tot uw Linux-systeem als root of via het sudo opdracht.
Conventies # - vereist dat gegeven linux-commando's worden uitgevoerd met root-privileges, hetzij direct als rootgebruiker, hetzij door gebruik van sudo opdracht
$ - vereist dat gegeven linux-commando's worden uitgevoerd als een gewone niet-geprivilegieerde gebruiker

Voeg gebruikers toe voor Hadoop-omgeving

Maak de nieuwe gebruiker en groep aan met de opdracht:

 # useradd hadoop # passwd hadoop 
 [root @ hadoop ~] # useradd hadoop [root @ hadoop ~] # passwd hadoop Wachtwoord wijzigen voor gebruiker hadoop. Nieuw wachtwoord: Typ het nieuwe wachtwoord opnieuw: passwd: alle authenticatietokens zijn succesvol bijgewerkt. [root @ hadoop ~] # kat / etc / passwd | grep hadoop hadoop: x: 1000: 1000 :: / home / hadoop: / bin / bash 

Installeer en configureer de Oracle JDK

Download en installeer het officiële pakket jdk-8u202-linux-x64.rpm om de Oracle JDK te installeren.

 [root @ hadoop ~] # rpm -ivh jdk-8u202-linux-x64.rpm waarschuwing: jdk-8u202-linux-x64.rpm: Header V3 RSA / SHA256 Handtekening, sleutel-ID ec551f03: NOKEY Verifiëren ... ##### ########################### [100%] Voorbereiden… ################ ################# [100%] Updaten / installeren… 1: jdk1.8-2000: 1.8.0_202-fcs ############ #################### [100%] JAR-bestanden uitpakken… tools.jar… plugin.jar… javaws.jar… deploy.jar… rt.jar… jsse .jar… charsets.jar… localedata.jar… 

Voer na de installatie de volgende opdrachten uit om te controleren of de java met succes is geconfigureerd:

 [root @ hadoop ~] # java -version java-versie "1.8.0_202" Java (TM) SE Runtime Environment (build 1.8.0_202-b08) Java HotSpot (TM) 64-bits server VM (build 25.202-b08, gemengde modus ) [root @ hadoop ~] # update-alternatieven --config java Er is 1 programma dat 'java' levert. Selectiecommando ----------------------------------------------- * + 1 /usr/java/jdk1.8.0_202-amd64/jre/bin/java 

Configureer wachtwoordloze SSH

Installeer de Open SSH-server en Open SSH-client of als deze al is geïnstalleerd, worden de onderstaande pakketten weergegeven.

 [root @ hadoop ~] # rpm -qa | grep openssh * openssh-server-7.8p1-3.el8.x86_64 openssl-libs-1.1.1-6.el8.x86_64 openssl-1.1.1-6.el8.x86_64 openssh-clients-7.8p1-3.el8. x86_64 openssh-7.8p1-3.el8.x86_64 openssl-pkcs11-0.4.8-2.el8.x86_64 

Genereer openbare en privésleutelparen met de volgende opdracht. De terminal zal vragen om de bestandsnaam in te voeren. druk op ENTER en ga verder. Kopieer daarna het formulier met openbare sleutels id_rsa.pub naar geautoriseerde_sleutels.

 $ ssh-keygen -t rsa $ cat ~ / .ssh / id_rsa.pub >> ~ / .ssh / geautoriseerde_keys $ chmod 640 ~ / .ssh / geautoriseerde_sleutels 
 [hadoop @ hadoop ~] $ ssh-keygen -t rsa Genereren van openbaar / privé rsa sleutelpaar. Voer het bestand in waarin u de sleutel wilt opslaan (/home/hadoop/.ssh/id_rsa): Aangemaakte directory '/home/hadoop/.ssh'. Voer wachtwoordzin in (leeg voor geen wachtwoordzin): Voer dezelfde wachtwoordzin nogmaals in: uw identificatie is opgeslagen in /home/hadoop/.ssh/id_rsa. Uw openbare sleutel is opgeslagen in /home/hadoop/.ssh/id_rsa.pub. De sleutelvingerafdruk is: SHA256: H + LLPkaJJDD7B0f0Je / NFJRP5 / FUeJswMmZpJFXoelg [email protected].com De willekeurige afbeelding van de sleutel is: + --- [RSA 2048] ---- + |… ++ * o .o | | o… + .O. + o. + | | +… * + Oo == | | . o o. E .oo | | . = .S. * O | | . o.o = o | |… O | | .O. | | o +. | + ---- [SHA256] ----- + [hadoop @ hadoop ~] $ cat ~ / .ssh / id_rsa.pub >> ~ / .ssh / geautoriseerde_keys [hadoop @ hadoop ~] $ chmod 640 ~ /. ssh / geautoriseerde_toetsen 

Controleer de wachtwoordloze ssh-configuratie met de opdracht:

 $ ssh  
 [hadoop @ hadoop ~] $ ssh hadoop.sandbox.com Webconsole: https://hadoop.sandbox.com:9090/ of https://192.168.1.108:9090/ Laatste aanmelding: za 13 april 12:09:55 2019 [hadoop @ hadoop ~] $ 

Installeer Hadoop en configureer gerelateerde xml-bestanden

Download en pak Hadoop 2.8.5 uit van de officiële Apache-website.

 # wget https://archive.apache.org/dist/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz # tar -xzvf hadoop-2.8.5.tar.gz 
 [root @ rhel8-sandbox ~] # wget https://archive.apache.org/dist/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz --2019-04-13 11: 14: 03-- https://archive.apache.org/dist/hadoop/common/hadoop-2.8.5/hadoop-2.8.5.tar.gz Oplossen van archive.apache.org (archive.apache.org) ... 163.172.17.199 Verbinding maken met archive.apache.org (archive.apache.org) | 163.172.17.199 |: 443… verbonden. HTTP-verzoek verzonden, wacht op antwoord ... 200 OK Lengte: 246543928 (235M) [applicatie / x-gzip] Opslaan in: 'hadoop-2.8.5.tar.gz' hadoop-2.8.5.tar.gz 100% [== ================================================== =================================>] 235.12M 1,47MB / s over 2m 53s 2019-04-13 11 : 16:57 (1,36 MB / s) - 'hadoop-2.8.5.tar.gz' opgeslagen [246543928/246543928] 

De omgevingsvariabelen instellen

Bewerk het bashrc voor de Hadoop-gebruiker door de volgende Hadoop-omgevingsvariabelen in te stellen:



export HADOOP_HOME = / home / Hadoop / Hadoop-2.8.5 export HADOOP_INSTALL = $ HADOOP_HOME export HADOOP_MAPRED_HOME = $ HADOOP_HOME export HADOOP_COMMON_HOME = $ HADOOP_HOME export HADOOP_HDFS_HOME = $ HADOOP_HOME export YARN_HOME = $ HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR = $ HADOOP_HOME / lib / inheemse export PATH = $ PATH: $ HADOOP_HOME / sbin: $ HADOOP_HOME / bin export HADOOP_OPTS = "- Djava.library.path = $ HADOOP_HOME / lib / native" 

Bron het .bashrc in huidige inlogsessie.

$ source ~ / .bashrc

Bewerk het hadoop-env.sh bestand dat zich in / etc / hadoop in de Hadoop-installatiemap en breng de volgende wijzigingen aan en controleer of u andere configuraties wilt wijzigen.

export JAVA_HOME = $ JAVA_HOME: - "/ usr / java / jdk1.8.0_202-amd64" export HADOOP_CONF_DIR = $ HADOOP_CONF_DIR: - "/ home / hadoop / hadoop-2.8.5 / etc / hadoop" 

Configuratiewijzigingen in het bestand core-site.xml

Bewerk het core-site.xml met vim of u kunt een van de editors gebruiken. Het bestand staat onder / etc / hadoop binnen hadoop homedirectory en voeg de volgende vermeldingen toe.

  fs.defaultFS hdfs: //hadoop.sandbox.com: 9000   hadoop.tmp.dir / home / hadoop / hadooptmpdata   

Maak bovendien de map onder hadoop thuismap.

 $ mkdir hadooptmpdata 

Configuratiewijzigingen in het hdfs-site.xml-bestand

Bewerk het hdfs-site.xml die aanwezig is op dezelfde locatie, d.w.z. / etc / hadoop binnen hadoop installatiemap en maak het Namenode / Datanode directories onder hadoop basismap van de gebruiker.

 $ mkdir -p hdfs / namenode $ mkdir -p hdfs / datanode 
  dfs.replication 1   dfs.name.dir file: /// home / hadoop / hdfs / namenode   dfs.data.dir file: /// home / hadoop / hdfs / datanode   

Configuratiewijzigingen in het bestand mapred-site.xml

Kopieer het mapred-site.xml van mapred-site.xml.template gebruik makend van cp commando en bewerk vervolgens het mapred-site.xml geplaatst in / etc / hadoop onder hadoop instillation directory met de volgende wijzigingen.

 $ cp mapred-site.xml.template mapred-site.xml 
  mapreduce.framework.name garen   

Configuratiewijzigingen in het bestand yarn-site.xml

Bewerk yarn-site.xml met de volgende vermeldingen.



  mapreduceyarn.nodemanager.aux-services mapreduce_shuffle   

Het Hadoop-cluster starten

Formatteer de namenode voordat u deze voor de eerste keer gebruikt. Voer als hadoop-gebruiker het onderstaande commando uit om de Namenode te formatteren.

 $ hdfs namenode -formaat 
 [hadoop @ hadoop ~] $ hdfs namenode -formaat 19/04/13 11:54:10 INFO namenode.NameNode: STARTUP_MSG: / ********************** **************************************** STARTUP_MSG: Start NameNode STARTUP_MSG: gebruiker = hadoop STARTUP_MSG: host = hadoop.sandbox.com/192.168.1.108 STARTUP_MSG: args = [-formaat] STARTUP_MSG: versie = 2.8.5 19/04/13 11:54:17 INFO namenode.FSNamesystem: dfs.namenode.safemode.threshold-pct = 0.9990000128746033 19/04/13 11:54:17 INFO namenode.FSNamesystem: dfs.namenode.safemode.min.datanodes = 0 19/04/13 11:54:17 INFO namenode.FSNamesystem: dfs.namenode.safemode.extension = 30000 19/04/13 11:54:18 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.window.num.buckets = 10 19/04/13 11:54:18 INFO metrics.TopMetrics: NNTop conf : dfs.namenode.top.num.users = 10 19/04/13 11:54:18 INFO metrics.TopMetrics: NNTop conf: dfs.namenode.top.windows.minutes = 1,5,25 19/04/13 11:54:18 INFO namenode.FSNamesystem: Retry cache op namenode is ingeschakeld 19/04/13 11:54:18 INFO namenode.FSNa mesystem: Retry cache zal 0,03 van de totale heap gebruiken en retry cache entry vervaltijd is 600000 millis 19/04/13 11:54:18 INFO util.GSet: rekencapaciteit voor map NameNodeRetryCache 19/04/13 11:54:18 INFO util.GSet: VM-type = 64-bit 19/04/13 11:54:18 INFO util.GSet: 0,029999999329447746% max geheugen 966,7 MB = 297,0 KB 19/04/13 11:54:18 INFO util.GSet: capaciteit = 2 ^ 15 = 32768 vermeldingen 19/04/13 11:54:18 INFO namenode.FSImage: toegewezen nieuwe BlockPoolId: BP-415167234-192.168.1.108-1555142058167 19/04/13 11:54:18 INFO algemeen. Opslagmap / home / hadoop / hdfs / namenode is succesvol geformatteerd. 19/04/13 11:54:18 INFO namenode.FSImageFormatProtobuf: afbeeldingbestand /home/hadoop/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 zonder compressie opslaan 19/04/13 11:54:18 INFO namenode.FSImageFormatProtobuf: Afbeeldingsbestand /home/hadoop/hdfs/namenode/current/fsimage.ckpt_0000000000000000000 met een grootte van 323 bytes opgeslagen in 0 seconden. 19/04/13 11:54:18 INFO namenode.NNStorageRetentionManager: gaat 1 afbeeldingen behouden met txid> = 0 19/04/13 11:54:18 INFO util.ExitUtil: afsluiten met status 0 19/04/13 11 : 54: 18 INFO namenode.NameNode: SHUTDOWN_MSG: / **************************************** ********************** SHUTDOWN_MSG: NameNode afsluiten op hadoop.sandbox.com/192.168.1.108 ************* ************************************************* / 

Zodra de Namenode is geformatteerd, start u de HDFS met behulp van de start-dfs.sh script.

 $ start-dfs.sh 
 [hadoop @ hadoop ~] $ start-dfs.sh Namenodes starten op [hadoop.sandbox.com] hadoop.sandbox.com: namenode starten, inloggen op /home/hadoop/hadoop-2.8.5/logs/hadoop-hadoop- namenode-hadoop.sandbox.com.out hadoop.sandbox.com: datanode starten, inloggen op /home/hadoop/hadoop-2.8.5/logs/hadoop-hadoop-datanode-hadoop.sandbox.com.out Secundaire namenodes [ 0.0.0.0] De authenticiteit van host '0.0.0.0 (0.0.0.0)' kan niet worden vastgesteld. De ECDSA-sleutelvingerafdruk is SHA256: e + NfCeK / kvnignWDHgFvIkHjBWwghIIjJkfjygR7NkI. Weet u zeker dat u door wilt gaan met verbinden (ja / nee)? ja 0.0.0.0: Waarschuwing: '0.0.0.0' (ECDSA) permanent toegevoegd aan de lijst met bekende hosts. wachtwoord van [email protected]: 0.0.0.0: start secundaire naamcode, log in op /home/hadoop/hadoop-2.8.5/logs/hadoop-hadoop-secondarynamenode-hadoop.sandbox.com.out 

Om de YARN-services te starten, moet u het garenstartscript uitvoeren, d.w.z.. start-yarn.sh

 $ start-yarn.sh 
 [hadoop @ hadoop ~] $ start-yarn.sh startende garendaemons die resourcemanager starten, inloggen op /home/hadoop/hadoop-2.8.5/logs/yarn-hadoop-resourcemanager-hadoop.sandbox.com.out hadoop.sandbox. com: nodemanager starten, inloggen op /home/hadoop/hadoop-2.8.5/logs/yarn-hadoop-nodemanager-hadoop.sandbox.com.out 

Om te controleren of alle Hadoop-services / daemons met succes zijn gestart, kunt u het jps opdracht.

 $ jps 2033 NameNode 2340 SecondaryNameNode 2566 ResourceManager 2983 Jps 2139 DataNode 2671 NodeManager 

Nu kunnen we de huidige Hadoop-versie controleren die u hieronder kunt gebruiken:

 $ hadoop-versie 
of
 $ hdfs-versie 
 [hadoop @ hadoop ~] $ hadoop versie Hadoop 2.8.5 Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 0b8464d75227fcee2c6e7f2410377b3d53d3d5f8 Samengesteld door jdu op 2018-09-10T03: 32Z Samengesteld met protoc 2.5.0 Van broncode met checksum 9942ca5c745417c14e318835f420733 Deze opdracht werd uitgevoerd met /home/hadoop/hadoop-2.8.5/share/hadoop/common/hadoop-common-2.8.5.jar [hadoop @ hadoop ~] $ hdfs-versie Hadoop 2.8.5 Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r 0b8464d75227fcee2c6e7f2410377b3d53d3d5f8 Samengesteld door jdu op 2018-09-10T03: 32Z Samengesteld met protoc 2.5.0 Uit de bron met checksum 9942ca5c745417c14e318835f420733 Deze opdracht werd uitgevoerd met /home/hadoop/hadoop-2.8.5/share/hadoop/common/hadoop-common-2.8.5.jar [hadoop @ hadoop ~] $ 

HDFS-opdrachtregelinterface

Om toegang te krijgen tot de HDFS en enkele mappen bovenaan DFS te maken, kunt u HDFS CLI gebruiken.

 $ hdfs dfs -mkdir / testdata $ hdfs dfs -mkdir / hadoopdata $ hdfs dfs -ls / 
 [hadoop @ hadoop ~] $ hdfs dfs -ls / 2 items gevonden drwxr-xr-x - hadoop supergroup 0 2019-04-13 11:58 / hadoopdata drwxr-xr-x - hadoop supergroup 0 2019-04-13 11: 59 / testdata 

Open de Namenode en YARN vanuit de browser

U hebt toegang tot zowel de webinterface voor NameNode als YARN Resource Manager via een van de browsers zoals Google Chrome / Mozilla Firefox.

Namenode Web UI - http: //: 50070

Namenode webgebruikersinterface. HDFS-gedetailleerde informatie. Bladeren in HDFS-mappen.

De webinterface van YARN Resource Manager (RM) geeft alle actieve taken op het huidige Hadoop-cluster weer.

Resource Manager-webinterface - http: //: 8088

Resource Manager (YARN) webgebruikersinterface.

Gevolgtrekking

De wereld verandert haar manier van werken en big data speelt in deze fase een grote rol. Hadoop is een raamwerk dat ons leven gemakkelijk maakt terwijl we aan grote sets gegevens werken. Op alle fronten zijn verbeteringen aangebracht. De toekomst is spannend.




Niemand heeft nog op dit artikel gereageerd.

Een verzameling nuttige informatie over het Linux-besturingssysteem en nieuwe technologieën
Nieuwe artikelen, praktische tips, gedetailleerde recensies en handleidingen. Voel je thuis in de wereld van het Linux-besturingssysteem