Installige Hadoopi multinoodiline klaster CDH4 abil RHEL/CentOS 6.5-s
Hadoop on avatud lähtekoodiga programmeerimisraamistik, mille apache on välja töötanud suurandmete töötlemiseks. See kasutab HDFS-i (Hadoop Distributed File System), et salvestada andmeid kõikides klastri datanoodides levitavalt ja kaardistada mudeli andmete töötlemiseks.
Namenode (NN) on HDFS-i juhtiv deemon ja Jobtracker (JT) on mapreduce mootori põhidemon.
Selles õpetuses kasutan kahte CentOS 6.3 VM-i "master" ja "node" nimelt. (kapten ja sõlm on minu hostinimed). „Master” IP on 172.21.17.175 ja sõlme IP on „172.21.17.188”. Järgmised juhised töötavad ka RHEL/CentOS 6.x versioonides.
hostname master
ifconfig|grep 'inet addr'|head -1 inet addr:172.21.17.175 Bcast:172.21.19.255 Mask:255.255.252.0
hostname node
ifconfig|grep 'inet addr'|head -1 inet addr:172.21.17.188 Bcast:172.21.19.255 Mask:255.255.252.0
Kõigepealt veenduge, et kõik klastri hostid oleksid failis '/ etc/hosts' (igas sõlmes), kui teil pole DNS-i seadistatud.
cat /etc/hosts 172.21.17.175 master 172.21.17.188 node
cat /etc/hosts 172.21.17.197 qabox 172.21.17.176 ansible-ground
Hadoopi multinoodilise klastri installimine CentOS-i
CDH4 installimiseks klastri kõikidesse hostidesse (Master ja Node) kasutame ametlikku CDH-hoidlat.
Minge CDH4 ametlikule allalaadimislehele ja haarake CDH4 (st 4.6) versioon. Võite kasutada hoidla allalaadimiseks ja installimiseks järgmist käsku wget.
# wget http://archive.cloudera.com/cdh4/one-click-install/redhat/6/i386/cloudera-cdh-4-0.i386.rpm # yum --nogpgcheck localinstall cloudera-cdh-4-0.i386.rpm
# wget http://archive.cloudera.com/cdh4/one-click-install/redhat/6/x86_64/cloudera-cdh-4-0.x86_64.rpm # yum --nogpgcheck localinstall cloudera-cdh-4-0.x86_64.rpm
Enne Hadoopi multinoodiklastri installimist lisage oma hoidlasse Cloudera Public GPG-võti, käivitades vastavalt oma süsteemi arhitektuurile ühe järgmistest käskudest.
## on 32-bit System ## # rpm --import http://archive.cloudera.com/cdh4/redhat/6/i386/cdh/RPM-GPG-KEY-cloudera
## on 64-bit System ## # rpm --import http://archive.cloudera.com/cdh4/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera
Järgmisena käivitage järgmine käsk JobTrackeri ja NameNode'i installimiseks ja seadistamiseks põhiserverisse.
yum clean all yum install hadoop-0.20-mapreduce-jobtracker
yum clean all yum install hadoop-hdfs-namenode
Teise nime sõlme seadistamiseks käivitage jällegi põhiserveris järgmised käsud.
yum clean all yum install hadoop-hdfs-secondarynam
Järgmisena seadistage kõigi klastri hostide (sõlme) tegumiriba ja datanood, välja arvatud JobTrackeri, NameNode'i ja sekundaarse (või ooterežiimi) NameNode'i hostid (sel juhul sõlmel).
yum clean all yum install hadoop-0.20-mapreduce-tasktracker hadoop-hdfs-datanode
Hadoopi kliendi saate installida eraldi arvutisse (antud juhul olen selle installinud datanoodile, saate installida igale masinale).
yum install hadoop-client
Kui oleme ülaltoodud sammudega valmis, liigume edasi hdf-de juurutamiseks (seda tehakse kõigis sõlmedes).
Kopeerige vaikekonfiguratsioon kataloogi /etc/hadoop (igas klastri sõlmes).
cp -r /etc/hadoop/conf.dist /etc/hadoop/conf.my_cluster
cp -r /etc/hadoop/conf.dist /etc/hadoop/conf.my_cluster
Kasutage käsku alternatiivid kohandatud kataloogi määramiseks järgmiselt (igas klastri sõlmes).
alternatives --verbose --install /etc/hadoop/conf hadoop-conf /etc/hadoop/conf.my_cluster 50 reading /var/lib/alternatives/hadoop-conf alternatives --set hadoop-conf /etc/hadoop/conf.my_cluster
alternatives --verbose --install /etc/hadoop/conf hadoop-conf /etc/hadoop/conf.my_cluster 50 reading /var/lib/alternatives/hadoop-conf alternatives --set hadoop-conf /etc/hadoop/conf.my_cluster
Nüüd avage fail „core-site.xml” ja värskendage klastri igas sõlmes faili „fs.defaultFS”.
cat /etc/hadoop/conf/core-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master/</value> </property> </configuration>
cat /etc/hadoop/conf/core-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master/</value> </property> </configuration>
Järgmine klastri iga sõlme hdfs-site.xml värskendus „dfs.permissions.superusergroup”.
cat /etc/hadoop/conf/hdfs-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>dfs.name.dir</name> <value>/var/lib/hadoop-hdfs/cache/hdfs/dfs/name</value> </property> <property> <name>dfs.permissions.superusergroup</name> <value>hadoop</value> </property> </configuration>
cat /etc/hadoop/conf/hdfs-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>dfs.name.dir</name> <value>/var/lib/hadoop-hdfs/cache/hdfs/dfs/name</value> </property> <property> <name>dfs.permissions.superusergroup</name> <value>hadoop</value> </property> </configuration>
Märkus. Veenduge, et ülaltoodud konfiguratsioon oleks olemas kõigil sõlmedel (tehke seda ühes sõlmes ja käivitage scp, et kopeerida ülejäänud sõlmedesse).
Värskendage nimede sõlme (põhi- ja sõlmes) jaotises „hdfs-site.xml” „dfs.name.dir või dfs.namenode.name.dir”. Muutke esiletõstetud väärtust.
cat /etc/hadoop/conf/hdfs-site.xml
<property> <name>dfs.namenode.name.dir</name> <value>file:///data/1/dfs/nn,/nfsmount/dfs/nn</value> </property>
cat /etc/hadoop/conf/hdfs-site.xml
<property> <name>dfs.datanode.data.dir</name> <value>file:///data/1/dfs/dn,/data/2/dfs/dn,/data/3/dfs/dn</value> </property>
Rakendage allpool olevad käsud kataloogistruktuuri loomiseks ja kasutajaõiguste haldamiseks Namenode (Master) ja Datanode (Node) masinas.
mkdir -p /data/1/dfs/nn /nfsmount/dfs/nn chmod 700 /data/1/dfs/nn /nfsmount/dfs/nn
mkdir -p /data/1/dfs/dn /data/2/dfs/dn /data/3/dfs/dn /data/4/dfs/dn chown -R hdfs:hdfs /data/1/dfs/nn /nfsmount/dfs/nn /data/1/dfs/dn /data/2/dfs/dn /data/3/dfs/dn /data/4/dfs/dn
Vormindage Namenode (Master-is), väljastades järgmise käsu.
sudo -u hdfs hdfs namenode -format
Lisage järgmine atribuut faili hdfs-site.xml ja asendage väärtus, nagu on näidatud Masteril.
<property> <name>dfs.namenode.http-address</name> <value>172.21.17.175:50070</value> <description> The address and port on which the NameNode UI will listen. </description> </property>
Märkus. Meie puhul peaks väärtus olema peamise VM-i ip-aadress.
Nüüd juurutame MRv1 (kaardi vähendamise versioon 1). Avage fail mapred-site.xml järgmiste väärtuste järgi, nagu näidatud.
cp hdfs-site.xml mapred-site.xml vi mapred-site.xml cat mapred-site.xml
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <property> <name>mapred.job.tracker</name> <value>master:8021</value> </property> </configuration>
Järgmisena kopeerige fail mapred-site.xml sõlmeseadmesse järgmise käsuga scp.
scp /etc/hadoop/conf/mapred-site.xml node:/etc/hadoop/conf/ mapred-site.xml 100% 200 0.2KB/s 00:00
Nüüd konfigureerige kohalikud salvestuskataloogid kasutamiseks MRv1 Daemonsi poolt. Avage uuesti fail „mapred-site.xml” ja tehke muudatused, nagu allpool näidatud, iga TaskTrackeri jaoks.
<property> Â <name>mapred.local.dir</name> Â <value>/data/1/mapred/local,/data/2/mapred/local,/data/3/mapred/local</value> </property>
Pärast nende kataloogide määramist failis ‘mapred-site.xml’ peate looma kataloogid ja määrama neile õiged failiõigused oma klastri igas sõlmes.
mkdir -p /data/1/mapred/local /data/2/mapred/local /data/3/mapred/local /data/4/mapred/local chown -R mapred:hadoop /data/1/mapred/local /data/2/mapred/local /data/3/mapred/local /data/4/mapred/local
Nüüd käivitage HDFS-i käivitamiseks klastri igas sõlmes järgmine käsk.
for x in `cd /etc/init.d ; ls hadoop-hdfs-*` ; do sudo service $x start ; done
for x in `cd /etc/init.d ; ls hadoop-hdfs-*` ; do sudo service $x start ; done
See peab looma/tmp õigete õigustega täpselt nii, nagu allpool mainitud.
sudo -u hdfs hadoop fs -mkdir /tmp sudo -u hdfs hadoop fs -chmod -R 1777 /tmp
sudo -u hdfs hadoop fs -mkdir -p /var/lib/hadoop-hdfs/cache/mapred/mapred/staging sudo -u hdfs hadoop fs -chmod 1777 /var/lib/hadoop-hdfs/cache/mapred/mapred/staging sudo -u hdfs hadoop fs -chown -R mapred /var/lib/hadoop-hdfs/cache/mapred
Nüüd kontrollige HDFS-faili struktuuri.
sudo -u hdfs hadoop fs -ls -R / drwxrwxrwt - hdfs hadoop 0 2014-05-29 09:58 /tmp drwxr-xr-x - hdfs hadoop 0 2014-05-29 09:59 /var drwxr-xr-x - hdfs hadoop 0 2014-05-29 09:59 /var/lib drwxr-xr-x - hdfs hadoop 0 2014-05-29 09:59 /var/lib/hadoop-hdfs drwxr-xr-x - hdfs hadoop 0 2014-05-29 09:59 /var/lib/hadoop-hdfs/cache drwxr-xr-x - mapred hadoop 0 2014-05-29 09:59 /var/lib/hadoop-hdfs/cache/mapred drwxr-xr-x - mapred hadoop 0 2014-05-29 09:59 /var/lib/hadoop-hdfs/cache/mapred/mapred drwxrwxrwt - mapred hadoop 0 2014-05-29 09:59 /var/lib/hadoop-hdfs/cache/mapred/mapred/staging
Pärast HDFS-i käivitamist ja '/ tmp' loomist, kuid enne JobTrackeri käivitamist looge palun HDFS-i kataloog, mis on määratud parameetriga 'mapred.system.dir' (vaikimisi & # 36 {hadoop.tmp.dir}/mapred/system ja vaheta omanik mapred.
sudo -u hdfs hadoop fs -mkdir /tmp/mapred/system sudo -u hdfs hadoop fs -chown mapred:hadoop /tmp/mapred/system
MapReduce'i käivitamiseks palun käivitage TT ja JT teenused.
service hadoop-0.20-mapreduce-tasktracker start Starting Tasktracker: [ OK ] starting tasktracker, logging to /var/log/hadoop-0.20-mapreduce/hadoop-hadoop-tasktracker-node.out
service hadoop-0.20-mapreduce-jobtracker start Starting Jobtracker: [ OK ] starting jobtracker, logging to /var/log/hadoop-0.20-mapreduce/hadoop-hadoop-jobtracker-master.out
Järgmisena looge iga hadoopi kasutaja jaoks kodukataloog. soovitatav on seda teha NameNode'is; näiteks.
sudo -u hdfs hadoop fs -mkdir /user/<user> sudo -u hdfs hadoop fs -chown <user> /user/<user>
Märkus: kus on iga kasutaja Linuxi kasutajanimi.
Teise võimalusena saate kodukataloogi luua järgmiselt.
sudo -u hdfs hadoop fs -mkdir /user/$USER sudo -u hdfs hadoop fs -chown $USER /user/$USER
Namenode'i avamiseks avage oma brauser ja tippige URL aadressiks http:// ip_address_of_namenode: 50070.
Avage oma brauseris teine vaheleht ja sisestage JobTrackerile juurdepääsemiseks URL http:// ip_address_of_jobtracker: 50030.
Seda protseduuri on edukalt testitud RHEL/CentOS 5.X/6.X-is. Kui teil on installimisega probleeme, palun kommenteerige allpool. Aitan teid lahenduste leidmisel.