CentOS 7-ൽ ഹഡൂപ്പ് സിംഗിൾ നോഡ് ക്ലസ്റ്റർ (സ്യൂഡോനോഡ്) എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം


ബിഗ്ഡാറ്റ കൈകാര്യം ചെയ്യാൻ വ്യാപകമായി ഉപയോഗിക്കുന്ന ഒരു ഓപ്പൺ സോഴ്uസ് ചട്ടക്കൂടാണ് ഹഡൂപ്പ്. ബിഗ്ഡാറ്റ/ഡാറ്റ അനലിറ്റിക്സ് പ്രോജക്റ്റുകളിൽ ഭൂരിഭാഗവും ഹഡൂപ്പ് ഇക്കോ സിസ്റ്റത്തിന് മുകളിലാണ് നിർമ്മിച്ചിരിക്കുന്നത്. ഇതിൽ രണ്ട് പാളികൾ അടങ്ങിയിരിക്കുന്നു, ഒന്ന് ഡാറ്റ സംഭരിക്കുന്നതിനും മറ്റൊന്ന് ഡാറ്റ പ്രോസസ്സിംഗിനുള്ളതുമാണ്.

എച്ച്ഡിഎഫ്എസ് (ഹഡൂപ്പ് ഡിസ്ട്രിബ്യൂട്ടഡ് ഫയൽസിസ്റ്റം) എന്ന് വിളിക്കപ്പെടുന്ന സ്വന്തം ഫയൽസിസ്റ്റം സ്റ്റോറേജ് പരിപാലിക്കും, പ്രോസസ്സിംഗ് യആർഎൻ (ഇനി മറ്റൊരു റിസോഴ്സ് നെഗോഷ്യേറ്റർ) കൈകാര്യം ചെയ്യും. ഹഡൂപ്പ് ഇക്കോ സിസ്റ്റത്തിന്റെ ഡിഫോൾട്ട് പ്രോസസ്സിംഗ് എഞ്ചിനാണ് Mapreduce.

CentOS 7-ൽ എല്ലാ ഡെമണുകളും (JVMs) സിംഗിൾ നോഡ് ക്ലസ്റ്റർ പ്രവർത്തിപ്പിക്കുന്ന ഹഡൂപ്പിന്റെ സ്യൂഡോനോഡ് ഇൻസ്റ്റാളേഷൻ ഇൻസ്റ്റാളുചെയ്യുന്നതിനുള്ള പ്രക്രിയയെ ഈ ലേഖനം വിവരിക്കുന്നു.

ഇത് പ്രധാനമായും തുടക്കക്കാർക്ക് ഹഡൂപ്പ് പഠിക്കാനുള്ളതാണ്. തത്സമയം, ഹഡൂപ്പ് ഒരു മൾട്ടിനോഡ് ക്ലസ്റ്ററായി ഇൻസ്റ്റാൾ ചെയ്യും, അവിടെ ഡാറ്റ ബ്ലോക്കുകളായി സെർവറുകൾക്കിടയിൽ വിതരണം ചെയ്യുകയും ജോലി സമാന്തരമായി നടപ്പിലാക്കുകയും ചെയ്യും.

  • CentOS 7 സെർവറിന്റെ ഏറ്റവും കുറഞ്ഞ ഇൻസ്റ്റാളേഷൻ.
  • Java v1.8 റിലീസ്.
  • Hadoop 2.x സ്റ്റേബിൾ റിലീസ്.

ഈ പേജിൽ

  • CentOS 7-ൽ Java എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
  • CentOS 7-ൽ പാസ്uവേഡ് ഇല്ലാത്ത ലോഗിൻ സജ്ജീകരിക്കുക
  • CentOS 7-ൽ ഹഡൂപ്പ് സിംഗിൾ നോഡ് എങ്ങനെ ഇൻസ്റ്റാൾ ചെയ്യാം
  • CentOS 7-ൽ Hadoop എങ്ങനെ കോൺഫിഗർ ചെയ്യാം
  • HDFS ഫയൽ സിസ്റ്റം നെയിംനോഡ് വഴി ഫോർമാറ്റ് ചെയ്യുന്നു

1. ജാവയിൽ നിർമ്മിതമായ ഒരു ഇക്കോ സിസ്റ്റമാണ് ഹഡൂപ്പ്. ഹഡൂപ്പ് ഇൻസ്റ്റാൾ ചെയ്യുന്നതിന് ഞങ്ങളുടെ സിസ്റ്റത്തിൽ ജാവ നിർബന്ധമായും ഇൻസ്റ്റാൾ ചെയ്യണം.

# yum install java-1.8.0-openjdk

2. അടുത്തതായി, സിസ്റ്റത്തിൽ ജാവയുടെ ഇൻസ്റ്റാൾ ചെയ്ത പതിപ്പ് പരിശോധിക്കുക.

# java -version

ഞങ്ങളുടെ മെഷീനിൽ ssh കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്, SSH ഉപയോഗിച്ച് ഹഡൂപ്പ് നോഡുകൾ നിയന്ത്രിക്കും. മാസ്റ്റർ നോഡ് അതിന്റെ സ്ലേവ് നോഡുകൾ ബന്ധിപ്പിക്കുന്നതിനും സ്റ്റാർട്ട്, സ്റ്റോപ്പ് പോലുള്ള പ്രവർത്തനം നടത്തുന്നതിനും SSH കണക്ഷൻ ഉപയോഗിക്കുന്നു.

പാസ്uവേഡ് ഇല്ലാതെ ssh ഉപയോഗിച്ച് സ്ലേവുകളുമായി മാസ്റ്റർക്ക് ആശയവിനിമയം നടത്താൻ കഴിയുന്ന തരത്തിൽ നമുക്ക് പാസ്uവേഡ്-ലെസ് ssh സജ്ജീകരിക്കേണ്ടതുണ്ട്. അല്ലെങ്കിൽ ഓരോ കണക്ഷൻ സ്ഥാപനത്തിനും, പാസ്വേഡ് നൽകേണ്ടതുണ്ട്.

ഈ ഒരൊറ്റ നോഡിൽ, മാസ്റ്റർ സേവനങ്ങളും (നാമനോഡ്, സെക്കൻഡറി നെയിംനോഡ് & റിസോഴ്സ് മാനേജർ) സ്ലേവ് സേവനങ്ങളും (ഡാറ്റനോഡ് & നോഡ്മാനേജർ) പ്രത്യേക ജെവിഎമ്മുകളായി പ്രവർത്തിക്കും. ഇത് സിംഗിൾ നോഡ് ആണെങ്കിലും, ആധികാരികത ഉറപ്പാക്കാതെ സ്ലേവിനെ ആശയവിനിമയം ചെയ്യാൻ മാസ്റ്ററെ മാറ്റുന്നതിന് നമുക്ക് പാസ്uവേഡ് കുറവുള്ള ssh ആവശ്യമാണ്.

3. സെർവറിൽ താഴെ പറയുന്ന കമാൻഡുകൾ ഉപയോഗിച്ച് പാസ്uവേഡ് ഇല്ലാത്ത SSH ലോഗിൻ സജ്ജീകരിക്കുക.

# ssh-keygen
# ssh-copy-id -i localhost

4. നിങ്ങൾ പാസ്uവേഡ് ഇല്ലാത്ത SSH ലോഗിൻ കോൺഫിഗർ ചെയ്uത ശേഷം, വീണ്ടും ലോഗിൻ ചെയ്യാൻ ശ്രമിക്കുക, ഒരു പാസ്uവേഡ് ഇല്ലാതെ നിങ്ങളെ ബന്ധിപ്പിക്കും.

# ssh localhost

5. അപ്പാച്ചെ ഹഡൂപ്പ് വെബ്uസൈറ്റിലേക്ക് പോയി ഇനിപ്പറയുന്ന wget കമാൻഡ് ഉപയോഗിച്ച് ഹഡൂപ്പിന്റെ സ്ഥിരമായ റിലീസ് ഡൗൺലോഡ് ചെയ്യുക.

# wget https://archive.apache.org/dist/hadoop/core/hadoop-2.10.1/hadoop-2.10.1.tar.gz
# tar xvpzf hadoop-2.10.1.tar.gz

6. അടുത്തതായി, കാണിച്ചിരിക്കുന്നതുപോലെ ~/.bashrc ഫയലിൽ Hadoop എൻവയോൺമെന്റ് വേരിയബിളുകൾ ചേർക്കുക.

HADOOP_PREFIX=/root/hadoop-2.10.1
PATH=$PATH:$HADOOP_PREFIX/bin
export PATH JAVA_HOME HADOOP_PREFIX

7. ഫയലിന്റെ ~/.bashrc-ലേക്ക് എൻവയോൺമെന്റ് വേരിയബിളുകൾ ചേർത്ത ശേഷം, ഫയൽ ഉറവിടം കണ്ടെത്തുകയും ഇനിപ്പറയുന്ന കമാൻഡുകൾ പ്രവർത്തിപ്പിച്ച് Hadoop പരിശോധിക്കുകയും ചെയ്യുക.

# source ~/.bashrc
# cd $HADOOP_PREFIX
# bin/hadoop version

നിങ്ങളുടെ മെഷീനിലേക്ക് യോജിപ്പിക്കുന്നതിന് ഞങ്ങൾ ഹഡൂപ്പ് കോൺഫിഗറേഷൻ ഫയലുകൾ താഴെ കോൺഫിഗർ ചെയ്യേണ്ടതുണ്ട്. ഹഡൂപ്പിൽ, ഓരോ സേവനത്തിനും അതിന്റേതായ പോർട്ട് നമ്പറും ഡാറ്റ സംഭരിക്കുന്നതിന് അതിന്റേതായ ഡയറക്ടറിയും ഉണ്ട്.

  • Hadoop കോൺഫിഗറേഷൻ ഫയലുകൾ – core-site.xml, hdfs-site.xml, mapred-site.xml & yarn-site.xml

8. ആദ്യം, കാണിച്ചിരിക്കുന്നത് പോലെ hadoop-env.sh ഫയലിലെ JAVA_HOME ഉം Hadoop പാത്തും അപ്ഡേറ്റ് ചെയ്യേണ്ടതുണ്ട്.

# cd $HADOOP_PREFIX/etc/hadoop
# vi hadoop-env.sh

ഫയലിന്റെ തുടക്കത്തിൽ ഇനിപ്പറയുന്ന വരി നൽകുക.

export JAVA_HOME=/usr/lib/jvm/java-1.8.0/jre
export HADOOP_PREFIX=/root/hadoop-2.10.1

9. അടുത്തതായി, core-site.xml ഫയൽ പരിഷ്ക്കരിക്കുക.

# cd $HADOOP_PREFIX/etc/hadoop
# vi core-site.xml

കാണിച്ചിരിക്കുന്നതുപോലെ <configuration> ടാഗുകൾക്കിടയിൽ താഴെ ഒട്ടിക്കുക.

<configuration>
            <property>
                   <name>fs.defaultFS</name>
                   <value>hdfs://localhost:9000</value>
           </property>
</configuration>

10. tecmint ഉപയോക്തൃ ഹോം ഡയറക്uടറിക്ക് കീഴിൽ താഴെയുള്ള ഡയറക്uടറികൾ സൃഷ്uടിക്കുക, അത് NN, DN സംഭരണത്തിനായി ഉപയോഗിക്കും.

# mkdir -p /home/tecmint/hdata/
# mkdir -p /home/tecmint/hdata/data
# mkdir -p /home/tecmint/hdata/name

10. അടുത്തതായി, hdfs-site.xml ഫയൽ പരിഷ്ക്കരിക്കുക.

# cd $HADOOP_PREFIX/etc/hadoop
# vi hdfs-site.xml

കാണിച്ചിരിക്കുന്നതുപോലെ <configuration> ടാഗുകൾക്കിടയിൽ താഴെ ഒട്ടിക്കുക.

<configuration>
<property>
        <name>dfs.replication</name>
        <value>1</value>
 </property>
  <property>
        <name>dfs.namenode.name.dir</name>
        <value>/home/tecmint/hdata/name</value>
  </property>
  <property>
          <name>dfs .datanode.data.dir</name>
          <value>home/tecmint/hdata/data</value>
  </property>
</configuration>

11. വീണ്ടും, mapred-site.xml ഫയൽ പരിഷ്ക്കരിക്കുക.

# cd $HADOOP_PREFIX/etc/hadoop
# cp mapred-site.xml.template mapred-site.xml
# vi mapred-site.xml

കാണിച്ചിരിക്കുന്നതുപോലെ <configuration> ടാഗുകൾക്കിടയിൽ താഴെ ഒട്ടിക്കുക.

<configuration>
                <property>
                        <name>mapreduce.framework.name</name>
                        <value>yarn</value>
                </property>
</configuration>

12. അവസാനമായി, yarn-site.xml ഫയൽ പരിഷ്ക്കരിക്കുക.

# cd $HADOOP_PREFIX/etc/hadoop
# vi yarn-site.xml

കാണിച്ചിരിക്കുന്നതുപോലെ <configuration> ടാഗുകൾക്കിടയിൽ താഴെ ഒട്ടിക്കുക.

<configuration>
                <property>
                       <name>yarn.nodemanager.aux-services</name>
                       <value>mapreduce_shuffle</value>
                </property>
</configuration>

13. ക്ലസ്റ്റർ ആരംഭിക്കുന്നതിന് മുമ്പ്, അത് ഇൻസ്റ്റാൾ ചെയ്തിട്ടുള്ള നമ്മുടെ പ്രാദേശിക സിസ്റ്റത്തിൽ ഹഡൂപ്പ് എൻഎൻ ഫോർമാറ്റ് ചെയ്യേണ്ടതുണ്ട്. സാധാരണയായി, ആദ്യമായി ക്ലസ്റ്റർ ആരംഭിക്കുന്നതിന് മുമ്പ് പ്രാരംഭ ഘട്ടത്തിൽ ഇത് ചെയ്യപ്പെടും.

NN ഫോർമാറ്റ് ചെയ്യുന്നത് NN മെറ്റാസ്റ്റോറിലെ ഡാറ്റാ നഷ്uടത്തിന് കാരണമാകും, അതിനാൽ നമ്മൾ കൂടുതൽ ജാഗ്രത പാലിക്കണം, ക്ലസ്റ്റർ പ്രവർത്തിക്കുന്ന സമയത്ത് NN മനഃപൂർവ്വം ആവശ്യമില്ലെങ്കിൽ ഫോർമാറ്റ് ചെയ്യരുത്.

# cd $HADOOP_PREFIX
# bin/hadoop namenode -format

14. നെയിംനോഡ് ഡെമണും ഡാറ്റാനോഡ് ഡെമണും ആരംഭിക്കുക: (പോർട്ട് 50070).

# cd $HADOOP_PREFIX
# sbin/start-dfs.sh

15. റിസോഴ്സ് മാനേജർ ഡെമണും നോഡ്മാനേജർ ഡെമണും ആരംഭിക്കുക: (പോർട്ട് 8088).

# sbin/start-yarn.sh

16. എല്ലാ സേവനങ്ങളും നിർത്താൻ.

# sbin/stop-dfs.sh
# sbin/stop-dfs.sh

സംഗ്രഹം
ഈ ലേഖനത്തിൽ, ഹഡൂപ്പ് സ്യൂഡോനോഡ് (സിംഗിൾ നോഡ്) ക്ലസ്റ്റർ സജ്ജീകരിക്കുന്നതിനുള്ള ഘട്ടം ഘട്ടമായുള്ള പ്രക്രിയയിലൂടെ ഞങ്ങൾ കടന്നുപോയി. നിങ്ങൾക്ക് ലിനക്സിനെ കുറിച്ച് അടിസ്ഥാന അറിവ് ഉണ്ടെങ്കിൽ, ഈ ഘട്ടങ്ങൾ പാലിക്കുകയാണെങ്കിൽ, ക്ലസ്റ്റർ 40 മിനിറ്റിനുള്ളിൽ യുപി ആകും.

തുടക്കക്കാർക്ക് ഹഡൂപ്പ് പഠിക്കാനും പരിശീലിക്കാനും ഇത് വളരെ ഉപയോഗപ്രദമാകും അല്ലെങ്കിൽ ഹഡൂപ്പിന്റെ ഈ വാനില പതിപ്പ് വികസന ആവശ്യങ്ങൾക്കായി ഉപയോഗിക്കാം. ഞങ്ങൾക്ക് ഒരു തത്സമയ ക്ലസ്റ്റർ വേണമെങ്കിൽ, ഒന്നുകിൽ ഞങ്ങൾക്ക് കുറഞ്ഞത് 3 ഫിസിക്കൽ സെർവറുകൾ ആവശ്യമാണ് അല്ലെങ്കിൽ ഒന്നിലധികം സെർവറുകൾ ഉള്ള ക്ലൗഡ് പ്രൊവിഷൻ ചെയ്യണം.