Weboldal keresés

Telepítse a Hadoop Multinode Cluster-t a CDH4 használatával az RHEL/CentOS 6.5 rendszerben


A Hadoop egy nyílt forráskódú programozási keretrendszer, amelyet az Apache fejlesztett ki a nagy adatok feldolgozására. A HDFS (Hadoop Distributed File System) segítségével elosztó módon tárolja az adatokat a fürt összes adatcsomópontján, és leképezi a redukáló modellt az adatok feldolgozásához.

A Namenode (NN) egy fő démon, amely vezérli a HDFS és a Jobtracker (JT) ) a mapreduce motor fő démonja.

Követelmények

Ebben az oktatóanyagban két CentOS 6.3 virtuális gépet használok, a „master” és a „node” néven. (a mester és a csomópont az én gazdagépnevem). A „mester” IP-címe 172.21.17.175, a csomópont IP-címe pedig „172.21.17.188”. A következő utasítások az RHEL/CentOS 6.x verziókon is működnek.

Mesteren
[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
A Node-on
[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

Először győződjön meg arról, hogy az összes fürt gazdagép ott van az „/etc/hosts” fájlban (minden csomóponton), ha nincs beállítva a DNS.

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

172.21.17.175 master
172.21.17.188 node
A Node-on
[root@node ~]# cat /etc/hosts

172.21.17.197 qabox
172.21.17.176 ansible-ground

A Hadoop Multinode Cluster telepítése a CentOS rendszerben

A hivatalos CDH adattárat használjuk a CDH4 telepítéséhez a fürt összes gazdagépére (Master és Node).

1. lépés: Töltse le a CDH Repository telepítését

Nyissa meg a hivatalos CDH letöltési oldalt, és szerezze be a CDH4 (azaz 4.6) verziót, vagy használja a következő wget parancsot a tár letöltéséhez és telepítéséhez.

32 bites RHEL/CentOS rendszeren
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 bites rendszeren
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

A Hadoop Multinode Cluster telepítése előtt adja hozzá a Cloudera nyilvános GPG-kulcsot a lerakatához a következő parancsok egyikének futtatásával a rendszer architektúrája szerint.

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

2. lépés: A JobTracker és a NameNode beállítása

Ezután futtassa a következő parancsot a JobTracker és a NameNode telepítéséhez és beállításához a főkiszolgálón.

[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

3. lépés: Másodlagos névcsomópont beállítása

Futtassa ismét a következő parancsokat a főkiszolgálón a másodlagos név csomópont beállításához.

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

4. lépés: A Tasktracker és a Datanode beállítása

Ezután állítsa be a Tasktracker & Datanode-ot az összes fürt gazdagépen (Node), kivéve a JobTracker, NameNode és a másodlagos (vagy készenléti) NameNode gazdagépen (ebben az esetben a csomóponton).

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

5. lépés: A Hadoop Client beállítása

A Hadoop klienst külön gépre telepítheted (jelen esetben a datanode-ra telepítettem, bármelyik gépre telepítheted).

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

6. lépés: Telepítse a HDFS-t a csomópontokon

Ha a fenti lépésekkel végeztünk, haladjunk tovább a hdfs telepítésével (minden csomóponton meg kell tenni).

Másolja az alapértelmezett konfigurációt a /etc/hadoop könyvtárba (a fürt minden csomópontjára).

[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

Az alternatives paranccsal állítsa be egyéni könyvtárát az alábbiak szerint (a fürt minden csomópontján).

[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

7. lépés: A konfigurációs fájlok testreszabása

Most nyissa meg a „core-site.xml” fájlt, és frissítse az „fs.defaultFS” fájlt a fürt minden csomópontján.

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

Következő frissítés „dfs.permissions.superusergroup” a hdfs-site.xml fájlban a fürt minden csomópontján.

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

Megjegyzés: Győződjön meg arról, hogy a fenti konfiguráció minden csomóponton megtalálható (egy csomóponton végezze el, és futtassa az scp parancsot a másoláshoz. a csomópontok közül).

8. lépés: Helyi tárolási könyvtárak konfigurálása

Frissítse a „dfs.name.dir vagy dfs.namenode.name.dir” fájlt a „hdfs-site.xml” fájlban a NameNode-on (a mesteren és a csomóponton). Kérjük, módosítsa az értéket a kiemelten.

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

9. lépés: Könyvtárak létrehozása és engedélyek kezelése

Hajtsa végre az alábbi parancsokat a címtárstruktúra létrehozásához és a felhasználói engedélyek kezeléséhez a Namenode (Master) és Datanode (Node) gépeken.

[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

Formázza a Namenode-ot (a mesteren) a következő parancs kiadásával.

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

10. lépés: A másodlagos névcsomópont konfigurálása

Adja hozzá a következő tulajdonságot a hdfs-site.xml fájlhoz, és cserélje ki az értéket a Mesteren látható módon.

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

Megjegyzés: Esetünkben az értéknek a fő virtuális gép IP-címének kell lennie.

Most telepítsük az MRv1-et (Map-reduce 1. verzió). Nyissa meg a „mapred-site.xml” fájlt az alábbi értékeket követve.

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

Ezután másolja a „mapred-site.xml” fájlt a csomóponti gépre a következő scp paranccsal.

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

Most állítsa be a helyi tárolási könyvtárakat az MRv1 démonok általi használatra. Nyissa meg újra a „mapred-site.xml” fájlt, és hajtsa végre a módosításokat az alábbiak szerint az egyes TaskTrackereknél.

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

Miután megadta ezeket a könyvtárakat a „mapred-site.xml” fájlban, létre kell hoznia a könyvtárakat, és hozzá kell rendelnie a megfelelő fájlengedélyeket a fürt minden csomópontjához.

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

10. lépés: Indítsa el a HDFS-t

Most futtassa a következő parancsot a HDFS elindításához a fürt minden csomópontján.

[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

11. lépés: Hozzon létre HDFS /tmp és MapReduce /var könyvtárakat

Létre kell hoznia a /tmp fájlt megfelelő jogosultságokkal, pontosan az alábbiak szerint.

[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

Most ellenőrizze a HDFS fájl szerkezetét.

[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

A HDFS elindítása és a „/tmp” létrehozása után, de a JobTracker elindítása előtt, kérjük, hozza létre a „mapred.system.dir” paraméter által meghatározott HDFS-könyvtárat (alapértelmezés szerint $ {hadoop.tmp .dir}/mapred/system, és módosítsa a tulajdonost mapredre.

[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

12. lépés: Indítsa el a MapReduce programot

A MapReduce elindításához: indítsa el a TT és a JT szolgáltatásokat.

Minden TaskTracker rendszeren
[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
A JobTracker rendszeren
[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

Ezután hozzon létre egy saját könyvtárat minden hadoop felhasználó számára. ajánlott ezt a NameNode-on megtenni; például.

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

Megjegyzés: ahol a az egyes felhasználók Linux-felhasználóneve.

Alternatív megoldásként a következőképpen hozhatja létre a kezdőkönyvtárat.

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

13. lépés: Nyissa meg a JT, NN felhasználói felületet a böngészőből

Nyissa meg böngészőjét, és írja be az URL-t a következőképpen: http://ip_namenode:50070 a Namenode eléréséhez.

Nyisson meg egy másik lapot a böngészőjében, és írja be az URL-t a következőképpen: http://ip_address_of_jobtracker:50030 a JobTracker eléréséhez.

Ezt az eljárást sikeresen tesztelték a RHEL/CentOS 5.X/6.X rendszeren. Kérjük, kommentálja alább, ha bármilyen problémája van a telepítéssel, segítek a megoldásban.