RHEL/CentOS 6.5 -ב CDH4 תועצמאב Hadoop Multinode Cluster תא ןקתה


Hadoop ידי לע החתופש חותפ דוק תונכת תרגסמ איה Apache דוביעל Big Data. ב תשמתשמ איה- HDFS (Hadoop Distributed File System System) םינותנה דוביעל לדומה תא תיחפהלו יתקולח ןפואב לוכשאב םינותנה

Namenode (NN) ב טלושה רטסאמ דש אוה- HDFS ו- Jobtracker (JT) תופמ תתחפה עונמ רובע ישאר דש אוה.

.RHEL/CentOS 6.x תואסרג לע םג תודבוע תואבה תוארוהה .'172.21.17.188' אוה תמוצה לש IP -הו 172.21.17.175 אוה 'ישארה' IP -ה .(ילש חראמה תומש םה תמוצו רטסאמ) .CentOS 6.3 לש' תמוצ'ו 'רטסאמ' תו

 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

.DNS תרדגה ךל ןיא םא ,(תמוצ לכב) 'etc/hosts /' ץבוקב םיאצמנ לוכשאה יחראמ לכש אדו תישאר

 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

CentOS -ב Hadoop לש דוק-בר לוכשא תנקתה

.לוכשאב (תמוצו רטסאמ) םיחראמה לכ לע CDH4 תנקתהל ימשר CDH רגאמב םישמתשמ ונא

.ותוא ןיקתהלו רגאמה תא דירוהל ידכ האבה wget הדוקפב שמתשהל לכותש וא (4.6 רמולכ) CDH4 תסרג תא ספתו CDH לש ימשרה הדרוהה ףדל רובע

# 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

.ךלש תכרעמה תרוטקטיכראל םאתהב תואבה תודוקפהמ תחא תלעפה ידי לע ךלש רגאמל Cloudera ירוביצה GPG -ה חתפמ תא ףסוה ,Hadoop לש Multoopode לוכשא תנקתה ינפל

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

.ישארה תרשב NameNode -ו JobTracker תא רידגהלו ןיקתהל ידכ האבה הדוקפה תא לעפה ,ןכמ רחאל

 yum clean all 
 yum install hadoop-0.20-mapreduce-jobtracker
 yum clean all
 yum install hadoop-hdfs-namenode

.ינשמ םש תמוצ תרדגהל ישארה תרשב תואבה תודוקפה תא לעפה ,בוש

 yum clean all 
 yum install hadoop-hdfs-secondarynam

.(הז הרקמב תמוצב) NameNode (הנתמה וא) SecondNice -ו JobNracker, NameNode יחראמ טעמל (תמוצ) תולוכשאה יחראמ לכב םינותנו םינותנ רחא בקעמ רדגה ,אבה בלשב

 yum clean all
 yum install hadoop-0.20-mapreduce-tasktracker hadoop-hdfs-datanode

.(הנוכמ לכב ותוא ןיקתהל לוכי התא data-code -ב ותוא יתנקתה הז הרקמב) תדרפנ הנוכמ לע Hadoop חוקל ןיקתהל לוכי התא

 yum install hadoop-client

.(םיתמצה לכב השעייש) hdfs סורפל םדקתנ ליעלש םיבלשה םע ונמייס םא תעכ

.(לוכשאב תמוצ לכב) /etc/hadoop היירפסל לדחמה תרירב תרוצת תא קתעה

 cp -r /etc/hadoop/conf.dist /etc/hadoop/conf.my_cluster
 cp -r /etc/hadoop/conf.dist /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
 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

.לוכשאב תמוצ לכב "fs.defaultFS" תא ןכדעו 'core-site.xml' ץבוק תא חתפ תעכ

 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>

.לוכשאב תמוצ לכב hdfs-site.xml -ב "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>

.(םיתמצה ראשב הקתעהל scp לעפהו דחא תמוצב עצב) םיתמצה לכב תמייק ליעלש הרוצתה יכ אדו אנא :הרעה

.שגדוהש יפכ ךרעה תא הנש אנא .(Master and Node -ב) NameNode -ב 'hdfs-site.xml' -ב "dfs.namenode.name.dir וא dfs.name.dir" תא ןכדע

 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>

.Datanode (Node) -ו Namenode (Master) תנוכמב שמתשמ תואשרה להנו תוירפס הנבמ רוציל ידכ הטמל תודוקפ עצב

 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

.האבה הדוקפה תקפנה ידי לע ,(Master -ב) Namenode -ה תא בצע

 sudo -u hdfs hdfs namenode -format

.Master -ב גצומש יפכ ךרעה תא ףלחהו hdfs-site.xml ץבוקל אבה ןייפאמה תא ףסוה

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

.ישארה VM -ה לש ip -ה תבותכ תויהל ךירצ ךרעה ונלש הרקמב :הרעה

.גצומש יפכ םיכרעה תובקעב 'mapred-site.xml' ץבוקה תא חתפ .(הפמ תתחפהל 1 תסרג) MRv1 תא סורפנ ואוב וישכע

 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>

.האבה scp הדוקפה תועצמאב תמוצה בשחמל 'mapred-site.xml' ץבוק תא קתעה ,ןכמ רחאל

 scp /etc/hadoop/conf/mapred-site.xml node:/etc/hadoop/conf/
mapred-site.xml                                                                      100%  200     0.2KB/s   00:00

.בקעמ תמישמ לכ רובע ןלהל גצומש יפכ םייוניש עצבו 'mapred-site.xml' ץבוקה תא חתפ בוש .MRv1 Daemons שומישל תוימוקמה ןוסחאה תוירפס תא רדגה תעכ

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

.ךלש לוכשאב תמוצ לכב תונוכנה ץבוקה תואשרה תא ןהל תוצקהלו תוירפסה תא רוציל ךילע ,'mapred-site.xml' ץבוקב הלא תוירפס תנייצש רחאל

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

.לוכשאב תמוצ לכב HDFS תלעפהל האבה הדוקפה תא לעפה תעכ

 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

.ךשמהב ןיוצש יפכ קוידב תומיאתמ תואשרה םע tmp/רוציל שרדנ

 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

.HDFS ץבוקה הנבמ תא תמא תעכ

 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

.תופמל םילעב ףלחהו mapred/system/{hadoop.tmp.dir} 36 # & לדחמ תרירבכ) 'mapred.system.dir' רטמרפה ידי לע הניוצש HDFS תיירפס תא רוצ אנא JobTracker תא ליחתתש ינפל ךא ,'tmp /' רציו HDFS תא

 sudo -u hdfs hadoop fs -mkdir /tmp/mapred/system
 sudo -u hdfs hadoop fs -chown mapred:hadoop /tmp/mapred/system

.JT -ו TT יתוריש תא לחתה אנא :MapReduce תלעפהל

 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

.המגודל ;NameNode -ב תאז תושעל ץלמומ .Hadoop שמתשמ לכ רובע תיתיב הירפס רוצ ,ןכמ רחאל

 sudo -u hdfs hadoop fs -mkdir  /user/<user>
 sudo -u hdfs hadoop fs -chown <user> /user/<user>

.שמתשמ לכ לש סקוניל לש שמתשמה םש אוה ש הפיא :הרעה

.אבה ןפואב תיבה תיירפס תא לטבל לכות ,ןיפולחל

 sudo -u hdfs hadoop fs -mkdir /user/$USER
 sudo -u hdfs hadoop fs -chown $USER /user/$USER

.Namenode -ל תשגל ידכ a> http:// ip_address_of_namenode: 50070> -כ רתאה תבותכ תא דלקהו ןפדפדה תא חתפ

.JobTracker -ל תשגל ידכ a> http:// ip_address_of_jobtracker: 50030> כ רתאה תבותכ תא דלקהו ךלש ןפדפדב תרחא הייסיטרכ חתפ

.תונורתפב ךל רוזעא ינא ,הנקתהב תויעבב לקתנ התא םא הטמל ביגה אנא .RHEL/CentOS 5.X/6.X -ב החלצהב קדבנ הז ךילה