Asenna Hadoop Multinode Cluster käyttämällä CDH4:ää RHEL/CentOS 6.5:ssä


Hadoop on apachen kehittämä avoimen lähdekoodin ohjelmointikehys suurdatan käsittelyyn. Se käyttää HDFS:ää (Hadoop Distributed File System) tietojen tallentamiseen klusterin kaikkien datasolmujen välillä jakavalla tavalla ja pienentää mallia tietojen käsittelemiseksi.

Namenode (NN) on päädaemon, joka ohjaa HDFS:ää ja Jobtrackeria (JT). ) on mapreduce-moottorin päädaemon.

Vaatimukset

Tässä opetusohjelmassa käytän kahta CentOS 6.3 -virtuaalikonetta master ja node eli. (isäntä ja solmu ovat isäntänimiäni). Pää-IP on 172.21.17.175 ja solmun IP on 172.21.17.188. Seuraavat ohjeet toimivat myös RHEL/CentOS 6.x -versioissa.

Mestarilla
[root@master ~]# hostname

master
[root@master ~]# ifconfig|grep 'inet addr'|head -1

inet addr:172.21.17.175  Bcast:172.21.19.255  Mask:255.255.252.0
Nodessa
[root@node ~]# hostname

node
[root@node ~]# ifconfig|grep 'inet addr'|head -1

inet addr:172.21.17.188  Bcast:172.21.19.255  Mask:255.255.252.0

Varmista ensin, että kaikki klusterin isännät ovat '/etc/hosts-tiedostossa (jossakin solmussa), jos sinulla ei ole DNS-asetuksia.

Mestarilla
[root@master ~]# cat /etc/hosts

172.21.17.175 master
172.21.17.188 node
Nodessa
[root@node ~]# cat /etc/hosts

172.21.17.197 qabox
172.21.17.176 ansible-ground

Hadoop Multinode Clusterin asentaminen CentOS:ään

Käytämme virallista CDH -varastoa asentaaksemme CDH4 kaikkiin klusterin isäntiin (Master ja Node).

Vaihe 1: Lataa Install CDH Repository

Siirry viralliselle CDH-lataussivulle ja hanki CDH4-versio (eli 4.6) tai voit ladata arkiston ja asentaa sen käyttämällä seuraavaa wget-komentoa.

RHEL/CentOS 32-bitissä
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
RHEL/CentOS 64-bitissä
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

Ennen kuin asennat Hadoop Multinode Clusterin, lisää Cloudera Public GPG -avain arkistoon suorittamalla jokin seuraavista komennoista järjestelmäarkkitehtuurisi mukaisesti.

## 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

Vaihe 2: Asenna JobTracker & NameNode

Suorita seuraavaksi seuraava komento asentaaksesi ja määrittääksesi JobTrackerin ja NameNoden pääpalvelimelle.

[root@master ~]# yum clean all 
[root@master ~]# yum install hadoop-0.20-mapreduce-jobtracker
[root@master ~]# yum clean all
[root@master ~]# yum install hadoop-hdfs-namenode

Vaihe 3: Aseta toissijainen nimisolmu

Suorita jälleen seuraavat komennot pääpalvelimella toissijaisen nimisolmun määrittämiseksi.

[root@master ~]# yum clean all 
[root@master ~]# yum install hadoop-hdfs-secondarynam

Vaihe 4: Asenna Tasktracker & Datanode

Määritä seuraavaksi tasktracker & datanode kaikille klusterin isännille (solmulle) paitsi JobTracker-, NameNode- ja toissijaisille (tai valmiustila-) NameNode-isännille (tässä tapauksessa solmuun).

[root@node ~]# yum clean all
[root@node ~]# yum install hadoop-0.20-mapreduce-tasktracker hadoop-hdfs-datanode

Vaihe 5: Asenna Hadoop Client

Voit asentaa Hadoop-asiakkaan erilliseen koneeseen (tässä tapauksessa olen asentanut sen datanodeen, voit asentaa sen mille tahansa koneelle).

[root@node ~]# yum install hadoop-client

Vaihe 6: Ota HDFS käyttöön solmuissa

Jos olemme nyt suorittaneet yllä olevat vaiheet, siirrytään eteenpäin hdfs:n käyttöönottamiseksi (joka tehdään kaikissa solmuissa).

Kopioi oletuskokoonpano /etc/hadoop-hakemistoon (jokaiseen klusterin solmuun).

[root@master ~]# cp -r /etc/hadoop/conf.dist /etc/hadoop/conf.my_cluster
[root@node ~]# cp -r /etc/hadoop/conf.dist /etc/hadoop/conf.my_cluster

Käytä alternatives-komentoa mukautetun hakemiston määrittämiseen seuraavasti ( klusterin jokaisessa solmussa ).

[root@master ~]# alternatives --verbose --install /etc/hadoop/conf hadoop-conf /etc/hadoop/conf.my_cluster 50
reading /var/lib/alternatives/hadoop-conf

[root@master ~]# alternatives --set hadoop-conf /etc/hadoop/conf.my_cluster
[root@node ~]# alternatives --verbose --install /etc/hadoop/conf hadoop-conf /etc/hadoop/conf.my_cluster 50
reading /var/lib/alternatives/hadoop-conf

[root@node ~]# alternatives --set hadoop-conf /etc/hadoop/conf.my_cluster

Vaihe 7: Asetustiedostojen mukauttaminen

Avaa nyt core-site.xml-tiedosto ja päivitä "fs.defaultFS" jokaisessa klusterin solmussa.

[root@master conf]# 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>
[root@node conf]# 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>

Seuraava päivitys "dfs.permissions.superusergroup" tiedostossa hdfs-site.xml jokaisessa klusterin solmussa.

[root@master conf]# 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>
[root@node conf]# 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>

Huomaa: varmista, että yllä olevat asetukset ovat käytettävissä kaikissa solmuissa (tee yhdessä solmussa ja suorita scp kopioidaksesi loput solmuista ).

Vaihe 8: Paikallisten tallennushakemistojen määrittäminen

Päivitä "dfs.name.dir" tai "dfs.namenode.name.dir" tiedostossa "hdfs-site.xml" NameNodessa ( isännässä ja solmussa ). Muuta arvoa korostetulla tavalla.

[root@master conf]# 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>
[root@node conf]# 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>

Vaihe 9: Luo hakemistoja ja hallitse käyttöoikeuksia

Suorita alla olevat komennot luodaksesi hakemistorakenteen ja hallitaksesi käyttäjän käyttöoikeuksia Namenode (Master) ja Datanode (Node) koneessa.

[root@master]# mkdir -p /data/1/dfs/nn /nfsmount/dfs/nn
[root@master]# chmod 700 /data/1/dfs/nn /nfsmount/dfs/nn
[root@node]#  mkdir -p /data/1/dfs/dn /data/2/dfs/dn /data/3/dfs/dn /data/4/dfs/dn
[root@node]#  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

Muotoile Namenode (Masterissa) antamalla seuraava komento.

[root@master conf]# sudo -u hdfs hdfs namenode -format

Vaihe 10: Toissijaisen nimisolmun määrittäminen

Lisää seuraava ominaisuus hdfs-site.xml-tiedostoon ja vaihda arvo Master-tiedoston osoittamalla tavalla.

<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>

Huomaa: meidän tapauksessamme arvon tulee olla pää-VM:n IP-osoite.

Otetaan nyt käyttöön MRv1 (Map-reduce versio 1). Avaa mapred-site.xml-tiedosto seuraavien arvojen mukaisesti.

[root@master conf]# cp hdfs-site.xml mapred-site.xml
[root@master conf]# vi mapred-site.xml
[root@master conf]# 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>

Kopioi seuraavaksi mapred-site.xml-tiedosto solmukoneeseen käyttämällä seuraavaa scp-komentoa.

[root@master conf]# scp /etc/hadoop/conf/mapred-site.xml node:/etc/hadoop/conf/
mapred-site.xml                                                                      100%  200     0.2KB/s   00:00

Määritä nyt paikalliset tallennushakemistot MRv1-Daemonien käytettäväksi. Avaa mapred-site.xml-tiedosto uudelleen ja tee muutokset alla kuvatulla tavalla kullekin TaskTrackerille.

<property>
 <name>mapred.local.dir</name>
 <value>/data/1/mapred/local,/data/2/mapred/local,/data/3/mapred/local</value>
</property>

Kun olet määrittänyt nämä hakemistot mapred-site.xml-tiedostossa, sinun on luotava hakemistot ja määritettävä niille oikeat tiedostooikeudet kussakin klusterin solmussa.

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

Vaihe 10: Käynnistä HDFS

Suorita nyt seuraava komento käynnistääksesi HDFS jokaisessa klusterin solmussa.

[root@master conf]# for x in `cd /etc/init.d ; ls hadoop-hdfs-*` ; do sudo service $x start ; done
[root@node conf]# for x in `cd /etc/init.d ; ls hadoop-hdfs-*` ; do sudo service $x start ; done

Vaihe 11: Luo HDFS /tmp- ja MapReduce /var -hakemistot

On luotava /tmp, jolla on oikeat oikeudet täsmälleen alla mainitulla tavalla.

[root@master conf]# sudo -u hdfs hadoop fs -mkdir /tmp
[root@master conf]# sudo -u hdfs hadoop fs -chmod -R 1777 /tmp
[root@master conf]# sudo -u hdfs hadoop fs -mkdir -p /var/lib/hadoop-hdfs/cache/mapred/mapred/staging
[root@master conf]# sudo -u hdfs hadoop fs -chmod 1777 /var/lib/hadoop-hdfs/cache/mapred/mapred/staging
[root@master conf]# sudo -u hdfs hadoop fs -chown -R mapred /var/lib/hadoop-hdfs/cache/mapred

Tarkista nyt HDFS-tiedostorakenne.

[root@node conf]# 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

Kun olet käynnistänyt HDFS:n ja luonut tiedoston /tmp, mutta ennen kuin aloitat JobTrackerin, luo HDFS-hakemisto, jonka määrittää parametri 'mapred.system.dir' (oletuksena $ {hadoop.tmp .dir}/mapred/system ja vaihda omistajaksi mapred.

[root@master conf]# sudo -u hdfs hadoop fs -mkdir /tmp/mapred/system
[root@master conf]# sudo -u hdfs hadoop fs -chown mapred:hadoop /tmp/mapred/system

Vaihe 12: Käynnistä MapReduce

MapReducen käynnistäminen: käynnistä TT- ja JT-palvelut.

Jokaisessa TaskTracker-järjestelmässä
[root@node conf]# 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
JobTracker-järjestelmässä
[root@master conf]# 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

Luo seuraavaksi kotihakemisto jokaiselle hadoop-käyttäjälle. on suositeltavaa, että teet tämän NameNodessa; esimerkiksi.

[root@master conf]# sudo -u hdfs hadoop fs -mkdir  /user/<user>
[root@master conf]# sudo -u hdfs hadoop fs -chown <user> /user/<user>

Huomaa: missä on kunkin käyttäjän Linux-käyttäjänimi.

Vaihtoehtoisesti voit luoda kotihakemiston seuraavasti.

[root@master conf]# sudo -u hdfs hadoop fs -mkdir /user/$USER
[root@master conf]# sudo -u hdfs hadoop fs -chown $USER /user/$USER

Vaihe 13: Avaa JT, NN UI selaimesta

Avaa selaimesi ja kirjoita URL-osoite muodossa http://ip_address_of_namenode:50070 päästäksesi Namenodeen.

Avaa toinen välilehti selaimessasi ja kirjoita URL-osoite muodossa http://ip_jobtrackerin_osoite:50030 päästäksesi JobTrackeriin.

Tämä menettely on testattu onnistuneesti RHEL/CentOS 5.X/6.X -käyttöjärjestelmässä. Kommentoi alle, jos kohtaat ongelmia asennuksen kanssa, autan sinua ratkaisuissa.