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.