RHEL/CentOS 6.5 এ সিডিএইচ 4 ব্যবহার করে হ্যাডোপ মাল্টিনোড ক্লাস্টার ইনস্টল করুন
হ্যাডোপ একটি ওপেন সোর্স প্রোগ্রামিং ফ্রেমওয়ার্ক যা বড় ডেটা প্রক্রিয়া করার জন্য অ্যাপাচি দ্বারা তৈরি করা হয়। এটি ক্লাস্টারে সমস্ত ডেটানোড জুড়ে ডেটা বিতরণ পদ্ধতিতে সঞ্চয় করতে এবং ডেটা প্রক্রিয়া করার জন্য ম্যাপ্রেডুস মডেল ব্যবহার করে এটি এইচডিএফএস (হ্যাডোপ বিতরণকারী ফাইল সিস্টেম) ব্যবহার করে।
নেমনেড (এনএন) হ'ল একটি মাস্টার ডেমন যা এইচডিএফএস নিয়ন্ত্রণ করে এবং জবট্র্যাকার (জেটি) ম্যাপ্রেডস ইঞ্জিনের মাস্টার ডেমন।
এই টিউটোরিয়ালে আমি দুটি CentOS 6.3 ভিএম 'মাস্টার' এবং 'নোড' যেমন ব্যবহার করছি। (মাস্টার এবং নোড আমার হোস্ট-এর নাম)। ‘মাস্টার’ আইপি 172.21.17.175 এবং নোড আইপি ‘172.21.17.188’। নিম্নলিখিত নির্দেশাবলী RHEL/CentOS 6.x সংস্করণেও কাজ করে।
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
প্রথমে নিশ্চিত হয়ে নিন যে আপনার কাছে ডিএনএস সেটআপ না থাকলে সমস্ত ক্লাস্টার হোস্টগুলি ‘/ ইত্যাদি/হোস্ট’ ফাইলে (প্রতিটি নোডে) রয়েছে।
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
সেন্টোজে হ্যাডোপ মাল্টিনোড ক্লাস্টার ইনস্টল করা হচ্ছে
আমরা একটি ক্লাস্টারে সমস্ত হোস্টে (মাস্টার এবং নোড) সিডিএইচ 4 ইনস্টল করতে অফিসিয়াল সিডিএইচ সংগ্রহস্থল ব্যবহার করি।
অফিসিয়াল সিডিএইচ ডাউনলোড পৃষ্ঠায় যান এবং সিডিএইচ 4 (অর্থাত্ 4.6) সংস্করণটি ধরুন বা আপনি সংগ্রহস্থলটি ডাউনলোড করতে এবং ইনস্টল করতে নিম্নলিখিত উইজেট কমান্ডটি ব্যবহার করতে পারেন।
# 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
হাডোপ মাল্টিনোড ক্লাস্টার ইনস্টল করার আগে আপনার সিস্টেমের আর্কিটেকচার অনুসারে নিম্নলিখিত কমান্ডের একটি চালিয়ে আপনার সংগ্রহস্থলে ক্লৌডেরা পাবলিক জিপিজি কী যুক্ত করুন।
## 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
এর পরে, মাস্টার সার্ভারে জবট্র্যাকার এবং নেমনেড ইনস্টল এবং সেটআপ করতে নিম্নলিখিত কমান্ডটি চালান।
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
এরপরে, জবট্র্যাকার, নেমনোড এবং সেকেন্ডারি (বা স্ট্যান্ডবাই) নেমনোড হোস্টগুলি (এই ক্ষেত্রে নোডে) ব্যতীত সমস্ত ক্লাস্টার হোস্টগুলিতে (নোড) সেটআপ টাস্কট্রেকার এবং ডেটানোড।
yum clean all yum install hadoop-0.20-mapreduce-tasktracker hadoop-hdfs-datanode
আপনি আলাদা মেশিনে হাদোপ ক্লায়েন্ট ইনস্টল করতে পারেন (এই ক্ষেত্রে আমি এটি ডাটানোডে ইনস্টল করেছি আপনি যে কোনও মেশিনে ইনস্টল করতে পারেন)।
yum install hadoop-client
এখন যদি আমরা উপরের পদক্ষেপগুলি সম্পন্ন করি তবে আসুন এইচডিএফএস মোতায়েনের দিকে এগিয়ে আসা যাক (সমস্ত নোডে সম্পন্ন করার জন্য)।
/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
এখন ক্লাস্টারের প্রতিটি নোডে ‘কোর-সাইট.xML’ ফাইল খুলুন এবং “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>
ক্লাস্টারের প্রতিটি নোডের hdfs-site.xML এ পরবর্তী আপডেট "dfs.permission.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>
দ্রষ্টব্য: দয়া করে নিশ্চিত হয়ে নিন যে উপরের কনফিগারেশনটি সমস্ত নোডে উপস্থিত রয়েছে (একটি নোডে করুন এবং বাকী নোডের অনুলিপি করতে স্কিপ চালান)।
নেমনোডে (মাস্টার এবং নোডে) "hdfs-site.xML" এ "dfs.name.dir বা dfs.namenode.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>
নেমনেড (মাস্টার) এবং ডেটানোড (নোড) মেশিনে ডিরেক্টরি কাঠামো তৈরি করতে এবং ব্যবহারকারীর অনুমতিগুলি পরিচালনা করতে নীচের কমান্ডগুলি সম্পাদন করুন।
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
নীচের কমান্ড জারি করে নামনোড (মাস্টার উপর) ফরম্যাট করুন।
sudo -u hdfs hdfs namenode -format
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>
দ্রষ্টব্য: আমাদের ক্ষেত্রে মানটি মাস্টার ভিএমের আইপি ঠিকানা হওয়া উচিত।
এবার আসুন এমআরভি 1 স্থাপন করুন (মানচিত্র হ্রাস সংস্করণ 1)। "মানচিত্রযুক্ত সাইট.এক্সএমএল 'ফাইলটি নিম্নলিখিত মানগুলিকে দেখানো হিসাবে খুলুন।
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>
এরপরে, নিম্নলিখিত স্কিপ কমান্ডটি ব্যবহার করে মেশিন নোডে ‘ম্যাপ্রেড-সাইট.xML’ ফাইলটি অনুলিপি করুন।
scp /etc/hadoop/conf/mapred-site.xml node:/etc/hadoop/conf/ mapred-site.xml 100% 200 0.2KB/s 00:00
এমআরভি 1 ডেমোনস দ্বারা ব্যবহারের জন্য এখন স্থানীয় স্টোরেজ ডিরেক্টরিগুলি কনফিগার করুন। আবার ‘ম্যাপ্রেড-সাইট.এক্সএমএল’ ফাইলটি খুলুন এবং প্রতিটি টাস্কট্রেকারের জন্য নীচে প্রদর্শিত পরিবর্তনগুলি করুন।
<property> Â <name>mapred.local.dir</name> Â <value>/data/1/mapred/local,/data/2/mapred/local,/data/3/mapred/local</value> </property>
এই ডিরেক্টরিগুলি ‘ম্যাপ্রেড-সাইট.এক্সএমএল’ ফাইলে নির্দিষ্ট করার পরে, আপনাকে অবশ্যই ডিরেক্টরিগুলি তৈরি করতে হবে এবং আপনার ক্লাস্টারের প্রতিটি নোডে তাদের সঠিক ফাইল অনুমতিগুলি বরাদ্দ করতে হবে।
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
ক্লাস্টারের প্রতিটি নোডে এইচডিএফএস শুরু করতে নিম্নলিখিত কমান্ডটি চালান।
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
নীচে উল্লিখিত ঠিক মতো যথাযথ অনুমতি নিয়ে এটি তৈরি/টিএমপি করা প্রয়োজন।
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
এখন এইচডিএফএস ফাইল কাঠামো যাচাই করুন।
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.dir' পরামিতি দ্বারা নির্দিষ্ট HDFS ডিরেক্টরিটি তৈরি করুন (ডিফল্ট & # 36 {hadoop.tmp.dir}/mapred/system দ্বারা এবং মালিককে মানচিত্রে পরিবর্তন করুন।
sudo -u hdfs hadoop fs -mkdir /tmp/mapred/system sudo -u hdfs hadoop fs -chown mapred:hadoop /tmp/mapred/system
মানচিত্রে শুরু করতে: দয়া করে টিটি এবং জেটি পরিষেবাগুলি শুরু করুন।
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
এরপরে, প্রতিটি হ্যাডুপ ব্যবহারকারীদের জন্য একটি হোম ডিরেক্টরি তৈরি করুন। এটি আপনাকে নামনোডে করার পরামর্শ দেওয়া হচ্ছে; উদাহরণ স্বরূপ.
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
আপনার ব্রাউজারটি খুলুন এবং নেমনেড অ্যাক্সেস করতে http:// ip_address_of_namenode: 50070 হিসাবে ইউআরএল টাইপ করুন।
আপনার ব্রাউজারে অন্য একটি ট্যাব খুলুন এবং চাকরির ট্র্যাকার অ্যাক্সেস করতে এই পদ্ধতিটি RHEL/CentOS 5.X/6.X এ সফলভাবে পরীক্ষা করা হয়েছে। আপনি যদি ইনস্টলেশনটি নিয়ে কোনও সমস্যার মুখোমুখি হন তবে নীচে মন্তব্য করুন, আমি সমাধানগুলিতে আপনাকে সহায়তা করব।