Kako namestiti gručo Hadoop z enim vozliščem (Pseudonode) na CentOS 7
Hadoop je odprtokodni okvir, ki se pogosto uporablja za obravnavo Bigdata. Večina projektov Bigdata/Data Analytics se gradi na vrhu sistema Hadoop Eco. Sestavljen je iz dvoslojnega, enega za shranjevanje podatkov in drugega za obdelavo podatkov.
Za shranjevanje bo skrbel lasten datotečni sistem, imenovan HDFS (Hadoop Distributed Filesystem), za obdelavo pa bo poskrbel YARN (Yet Another Resource Negotiator). Mapreduce je privzeti mehanizem za obdelavo Hadoop Eco-System.
V tem članku je opisan postopek namestitve namestitve Pseudonode za Hadoop, kjer bodo vsi demoni (JVM) izvajali grozd z enim vozliščem na CentOS 7.
To je predvsem za začetnike, ki se učijo Hadoopa. Hadoop bo v realnem času nameščen kot gručo z več vozli, kjer bodo podatki porazdeljeni med strežnike kot bloki, naloga pa se bo izvajala vzporedno.
- Minimalna namestitev strežnika CentOS 7.
- Izdaja Java v1.8.
- Hadoop 2.x stabilna izdaja.
Na tej strani
- Kako namestiti Javo na CentOS 7
- Nastavite prijavo brez gesla na CentOS 7
- Kako namestiti eno vozlišče Hadoop v CentOS 7
- Kako nastaviti Hadoop v CentOS 7
- Oblikovanje datotečnega sistema HDFS prek NameNode
1. Hadoop je ekosistem, ki ga sestavlja Java. Za namestitev Hadoopa moramo v našem sistemu obvezno namestiti Javo.
# yum install java-1.8.0-openjdk
2. Nato preverite nameščeno različico Jave v sistemu.
# java -version
V naši napravi moramo imeti konfiguriran ssh, Hadoop bo vozlišča upravljal s pomočjo SSH. Glavno vozlišče uporablja povezavo SSH za povezovanje svojih podrejenih vozlišč in izvajanje operacij, kot je zagon in zaustavitev.
Nastaviti moramo ssh brez gesla, tako da lahko poveljnik komunicira s sužnji s ssh brez gesla. V nasprotnem primeru morate za vsako vzpostavitev povezave vnesti geslo.
V tem enem vozlišču se glavne storitve (Namenode, sekundarne Namenode in upravitelj virov) in podrejene storitve (Datanode & Nodemanager) izvajajo kot ločene JVM-je. Čeprav gre za singe vozlišče, moramo imeti ssh brez gesla, da lahko Master komunicira s podrejenim brez preverjanja pristnosti.
3. Z naslednjimi ukazi na strežniku nastavite prijavo SSH brez gesla.
# ssh-keygen # ssh-copy-id -i localhost
4. Ko ste konfigurirali prijavo SSH brez gesla, se poskusite znova prijaviti, povezani boste brez gesla.
# ssh localhost
5. Pojdite na spletno mesto Apache Hadoop in s pomočjo naslednjega ukaza wget prenesite stabilno različico Hadoop.
# wget https://archive.apache.org/dist/hadoop/core/hadoop-2.10.1/hadoop-2.10.1.tar.gz # tar xvpzf hadoop-2.10.1.tar.gz
6. Nato dodajte spremenljivke okolja Hadoop v datoteko ~/.bashrc
, kot je prikazano.
HADOOP_PREFIX=/root/hadoop-2.10.1 PATH=$PATH:$HADOOP_PREFIX/bin export PATH JAVA_HOME HADOOP_PREFIX
7. Ko v datoteko ~/.bashrc
dodate spremenljivke okolja, jo poiščite in preverite Hadoop z zagonom naslednjih ukazov.
# source ~/.bashrc # cd $HADOOP_PREFIX # bin/hadoop version
Za namestitev v vaš računalnik moramo konfigurirati spodaj konfiguracijske datoteke Hadoop. V Hadoopu ima vsaka storitev svojo številko vrat in svoj imenik za shranjevanje podatkov.
- Konfiguracijske datoteke Hadoop - core-site.xml, hdfs-site.xml, mapred-site.xml & yarn-site.xml
8. Najprej moramo posodobiti JAVA_HOME
in Hadoop pot v datoteki hadoop-env.sh, kot je prikazano.
# cd $HADOOP_PREFIX/etc/hadoop # vi hadoop-env.sh
Na začetku datoteke vnesite naslednjo vrstico.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0/jre export HADOOP_PREFIX=/root/hadoop-2.10.1
9. Nato spremenite datoteko core-site.xml
.
# cd $HADOOP_PREFIX/etc/hadoop # vi core-site.xml
Prilepite naslednje med oznake <configuration>
, kot je prikazano.
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
10. Ustvarite spodnje imenike pod tecmint
domačim imenikom uporabnika, ki bodo uporabljeni za shranjevanje NN in DN.
# mkdir -p /home/tecmint/hdata/ # mkdir -p /home/tecmint/hdata/data # mkdir -p /home/tecmint/hdata/name
10. Nato spremenite datoteko hdfs-site.xml
.
# cd $HADOOP_PREFIX/etc/hadoop # vi hdfs-site.xml
Prilepite naslednje med oznake <configuration>
, kot je prikazano.
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/tecmint/hdata/name</value> </property> <property> <name>dfs .datanode.data.dir</name> <value>home/tecmint/hdata/data</value> </property> </configuration>
11. Še enkrat spremenite datoteko mapred-site.xml
.
# cd $HADOOP_PREFIX/etc/hadoop # cp mapred-site.xml.template mapred-site.xml # vi mapred-site.xml
Prilepite naslednje med oznake <configuration>
, kot je prikazano.
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
12. Na koncu spremenite še datoteko yarn-site.xml
.
# cd $HADOOP_PREFIX/etc/hadoop # vi yarn-site.xml
Prilepite naslednje med oznake <configuration>
, kot je prikazano.
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
13. Pred zagonom grozda moramo formatirati Hadoop NN v našem lokalnem sistemu, kjer je bil nameščen. Običajno se to naredi v začetni fazi pred prvim zagonom grozda.
Formatiranje NN bo povzročilo izgubo podatkov v NT metastore, zato moramo biti previdnejši, NN ne smemo formatirati med izvajanjem gruče, razen če je to namenoma potrebno.
# cd $HADOOP_PREFIX # bin/hadoop namenode -format
14. Zaženite demon NameNode in demonNode DataNode: (vrata 50070).
# cd $HADOOP_PREFIX # sbin/start-dfs.sh
15. Zaženite demon ResourceManager in demon NodeManager: (vrata 8088).
# sbin/start-yarn.sh
16. Zaustavitev vseh storitev.
# sbin/stop-dfs.sh # sbin/stop-dfs.sh
Povzetek
V tem članku smo opravili postopek postopnega nastavljanja grozda Hadoop Pseudonode (Single Node). Če imate osnovno znanje Linuxa in sledite tem korakom, bo grozd v 40 minutah GOR.
To je lahko zelo koristno za začetnike, da se začnejo učiti in vaditi Hadoop, ali pa to vanilijevo različico Hadoopa lahko uporabite za razvojne namene. Če želimo imeti grozd v realnem času, potrebujemo vsaj 3 fizične strežnike v roki ali pa moramo zagotoviti oblak za več strežnikov.