Jinsi ya Kufunga Nguzo ya Njia Moja ya Hadoop (Pseudonode) kwenye CentOS 7


Hadoop ni mfumo wa chanzo huria ambao hutumiwa sana kushughulikia Bigdata. Miradi mingi ya Uchanganuzi wa Data/Data inajengwa juu ya Hadoop Eco-System. Inajumuisha tabaka mbili, moja ni ya Kuhifadhi Data na nyingine ni ya Kuchakata Data.

Hifadhi itatunzwa na mfumo wake wa faili unaoitwa HDFS (mfumo wa Faili Uliosambazwa wa Hadoop) na Uchakataji utatunzwa na YARN (Bado Mhawilishi Mwingine wa Rasilimali). Mapreduce ni injini chaguo-msingi ya kuchakata ya Hadoop Eco-System.

Nakala hii inaelezea mchakato wa kusakinisha usakinishaji wa Pseudonode wa Hadoop, ambapo daemons zote (JVMs) zitakuwa zinaendesha Nguzo ya Njia Moja kwenye CentOS 7.

Hii ni hasa kwa wanaoanza kujifunza Hadoop. Kwa wakati halisi, Hadoop itasakinishwa kama nguzo nyingi ambapo data itasambazwa kati ya seva kama vizuizi na kazi itatekelezwa kwa njia sambamba.

  • Usakinishaji mdogo wa seva ya CentOS 7.
  • Toleo la Java v1.8.
  • Hadoop 2.x toleo thabiti.

Katika ukurasa huu

  • Jinsi ya Kusakinisha Java kwenye CentOS 7
  • Weka Kuingia Bila Nenosiri kwenye CentOS 7
  • Jinsi ya Kusakinisha Njia Moja ya Hadoop katika CentOS 7
  • Jinsi ya Kusanidi Hadoop katika CentOS 7
  • Kuumbiza Mfumo wa Faili wa HDFS kupitia Nodi ya Jina

1. Hadoop ni Eco-System ambayo imeundwa na Java. Tunahitaji Java iliyosakinishwa kwenye mfumo wetu kwa lazima ili kusakinisha Hadoop.

# yum install java-1.8.0-openjdk

2. Kisha, thibitisha toleo lililowekwa la Java kwenye mfumo.

# java -version

Tunahitaji kuwa na ssh iliyosanidiwa kwenye mashine yetu, Hadoop itasimamia nodi kwa kutumia SSH. Nodi kuu hutumia unganisho la SSH kuunganisha nodi zake za watumwa na kufanya operesheni kama vile anza na simamisha.

Tunahitaji kusanidi ssh isiyo na nenosiri ili bwana aweze kuwasiliana na watumwa kwa kutumia ssh bila nywila. Vinginevyo kwa kila uanzishwaji wa uunganisho, unahitaji kuingiza nenosiri.

Katika nodi hii moja, huduma za Master (Namenode, Namenodi ya Sekondari & Meneja wa Rasilimali) na huduma za Slave (Datanode & Nodemanager) zitakuwa zikifanya kazi kama JVM tofauti. Ingawa ni nodi ya singe, tunahitaji kuwa na ssh isiyo na nenosiri ili kufanya Mwalimu kuwasiliana na Mtumwa bila uthibitishaji.

3. Sanidi kuingia kwa SSH bila nenosiri kwa kutumia amri zifuatazo kwenye seva.

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

4. Baada ya kusanidi kuingia kwa SSH bila nenosiri, jaribu kuingia tena, utaunganishwa bila nenosiri.

# ssh localhost

5. Nenda kwenye tovuti ya Apache Hadoop na upakue kutolewa kwa Hadoop kwa kutumia amri ifuatayo ya 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. Kisha, ongeza vigezo vya mazingira vya Hadoop katika faili ya ~/.bashrc kama inavyoonyeshwa.

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

7. Baada ya kuongeza vigezo vya mazingira kwenye ~/.bashrc faili, chanzo cha faili na uthibitishe Hadoop kwa kutekeleza amri zifuatazo.

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

Tunahitaji kusanidi chini ya faili za usanidi za Hadoop ili zitoshee kwenye mashine yako. Katika Hadoop, kila huduma ina nambari yake ya bandari na saraka yake ya kuhifadhi data.

  • Faili za Usanidi wa Hadoop – core-site.xml, hdfs-site.xml, mapred-site.xml & yarn-site.xml

8. Kwanza, tunahitaji kusasisha JAVA_HOME na njia ya Hadoop katika faili ya hadoop-env.sh kama inavyoonyeshwa.

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

Ingiza mstari ufuatao mwanzoni mwa faili.

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

9. Kisha, rekebisha faili ya core-site.xml.

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

Bandika yafuatayo kati ya lebo za <configuration> kama inavyoonyeshwa.

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

10. Unda saraka zilizo hapa chini chini ya tecmint saraka ya nyumbani ya mtumiaji, ambayo itatumika kwa hifadhi ya NN na DN.

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

10. Kisha, rekebisha faili ya hdfs-site.xml.

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

Bandika yafuatayo kati ya lebo za <configuration> kama inavyoonyeshwa.

<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. Tena, rekebisha faili ya mapred-site.xml.

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

Bandika yafuatayo kati ya lebo za <configuration> kama inavyoonyeshwa.

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

12. Hatimaye, rekebisha faili ya yarn-site.xml.

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

Bandika yafuatayo kati ya lebo za <configuration> kama inavyoonyeshwa.

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

13. Kabla ya kuanzisha Kundi, tunahitaji kuumbiza Hadoop NN katika mfumo wetu wa ndani ambapo imesakinishwa. Kwa kawaida, itafanywa katika hatua ya awali kabla ya kuanza nguzo mara ya kwanza.

Kuumbiza NN kutasababisha upotevu wa data katika metastore ya NN, kwa hivyo tunapaswa kuwa waangalifu zaidi, hatupaswi kufomati NN wakati nguzo inaendelea isipokuwa inahitajika kimakusudi.

# cd $HADOOP_PREFIX
# bin/hadoop namenode -format

14. Anzisha daemoni ya Nodi ya Jina na daemoni ya DataNode: (bandari 50070).

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

15. Anzisha daemon ya ResourceManager na daemon ya NodeManager: (bandari 8088).

# sbin/start-yarn.sh

16. Kusimamisha huduma zote.

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

Muhtasari
Katika makala haya, tumepitia mchakato wa hatua kwa hatua ili kusanidi Kundi la Hadoop Pseudonode (Njia Moja). Ikiwa una maarifa ya kimsingi ya Linux na kufuata hatua hizi, nguzo hiyo itakuwa UP baada ya dakika 40.

Hii inaweza kuwa muhimu sana kwa anayeanza kujifunza na kufanya mazoezi ya Hadoop au toleo hili la vanilla la Hadoop linaweza kutumika kwa madhumuni ya Maendeleo. Ikiwa tunataka kuwa na kundi la wakati halisi, ama tunahitaji angalau seva 3 halisi mkononi au tunapaswa kutoa Cloud kwa kuwa na seva nyingi.