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.