Kā CentOS 7 instalēt Hadoop viena mezgla kopu (pseidonodu)


Hadoop ir atvērtā koda sistēma, ko plaši izmanto, lai risinātu Bigdata. Lielākā daļa Bigdata/Data Analytics projektu tiek veidoti virs Hadoop ekosistēmas. Tas sastāv no divslāņu, viens ir paredzēts datu glabāšanai, bet otrs - datu apstrādei.

Par glabāšanu rūpēsies pati sava failu sistēma ar nosaukumu HDFS (Hadoop Distributed Filesystem), un par apstrādi - YARN (vēl viens resursu sarunu vadītājs). Mapreduce ir Hadoop Eco-System noklusējuma apstrādes dzinējs.

Šajā rakstā aprakstīts Hadoop pseidonodes instalēšanas process, kurā visi dēmoni (JVM) CentOS 7 darbosies ar viena mezgla kopu.

Tas galvenokārt paredzēts iesācējiem, lai apgūtu Hadoop. Reāllaikā Hadoop tiks instalēts kā daudzkodu kopa, kurā dati tiks sadalīti starp serveriem kā bloki un darbs tiks izpildīts paralēli.

  • CentOS 7 servera instalēšana ir minimāla.
  • Java v1.8 izlaidums.
  • Hadoop 2.x stabila izlaišana.

Šajā lapā

  • Kā instalēt Java CentOS 7
  • Iestatiet CentOS 7 pieteikšanos bez paroles
  • Kā instalēt Hadoop Single Node CentOS 7
  • Kā konfigurēt Hadoop sistēmā CentOS 7
  • HDFS failu sistēmas formatēšana, izmantojot NameNode

1. Hadoop ir ekosistēma, kas sastāv no Java. Lai instalētu Hadoop, mums sistēmā obligāti jāinstalē Java.

# yum install java-1.8.0-openjdk

2. Pēc tam pārbaudiet sistēmā instalēto Java versiju.

# java -version

Mums mašīnā jābūt konfigurētam ssh, Hadoop pārvaldīs mezglus, izmantojot SSH. Galvenais mezgls izmanto SSH savienojumu, lai savienotu savus vergu mezglus un veiktu tādas darbības kā startēšana un apturēšana.

Mums ir jāiestata ssh bez paroles, lai kapteinis varētu sazināties ar vergiem, izmantojot ssh bez paroles. Pretējā gadījumā katram savienojuma veidam ir jāievada parole.

Šajā atsevišķajā mezglā galvenie pakalpojumi (Namenode, Secondary Namenode & Resource Manager) un Slave pakalpojumi (Datanode & Nodemanager) darbosies kā atsevišķi JVM. Lai gan tas ir viens mezgls, mums ir jābūt bez paroles, lai Master varētu sazināties ar Slave bez autentifikācijas.

3. Iestatiet SSH pieteikšanos bez paroles, izmantojot šādas servera komandas.

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

4. Pēc tam, kad esat konfigurējis SSH pieteikšanos bez paroles, mēģiniet vēlreiz pieteikties, jūs izveidosiet savienojumu bez paroles.

# ssh localhost

5. Atveriet Apache Hadoop vietni un lejupielādējiet Hadoop stabilo laidienu, izmantojot šādu komandu 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. Pēc tam pievienojiet Hadoop vides mainīgos failā ~/.bashrc , kā parādīts.

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

7. Pēc vides mainīgo pievienošanas failam ~/.bashrc , iegūstiet failu un pārbaudiet Hadoop, izpildot šādas komandas.

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

Lai ietilptu jūsu datorā, mums zemāk ir jākonfigurē Hadoop konfigurācijas faili. Hadoopā katram pakalpojumam ir savs porta numurs un savs direktorijs datu glabāšanai.

  • Hadoop konfigurācijas faili - core-site.xml, hdfs-site.xml, mapred-site.xml & dzija-site.xml

8. Vispirms mums jāatjaunina JAVA_HOME un Hadoop ceļš hadoop-env.sh failā, kā parādīts.

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

Faila sākumā ievadiet šādu rindu.

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

9. Pēc tam modificējiet failu core-site.xml .

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

Ielīmējiet sekošanu starp tagiem <configuration>, kā parādīts.

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

10. Izveidojiet zemāk esošos direktorijus tecmint lietotāja mājas direktorijā, kas tiks izmantoti NN un DN glabāšanai.

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

10. Pēc tam modificējiet failu hdfs-site.xml .

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

Ielīmējiet sekošanu starp tagiem <configuration>, kā parādīts.

<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. Atkārtoti modificējiet failu mapred-site.xml .

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

Ielīmējiet sekošanu starp tagiem <configuration>, kā parādīts.

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

12. Visbeidzot, modificējiet failu yarn-site.xml .

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

Ielīmējiet sekošanu starp tagiem <configuration>, kā parādīts.

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

13. Pirms klastera palaišanas mums ir jāformatē Hadoop NN vietējā sistēmā, kur tā ir instalēta. Parasti tas tiks veikts sākotnējā posmā pirms pirmās klastera palaišanas.

NN formatēšana izraisīs datu zudumu NN metastore, tāpēc mums jābūt piesardzīgākiem, mums nevajadzētu formatēt NN, kamēr klasteris darbojas, ja vien tas nav apzināti vajadzīgs.

# cd $HADOOP_PREFIX
# bin/hadoop namenode -format

14. Start NameNode dēmons un DataNode dēmons: (ports 50070).

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

15. Sāciet ResourceManager dēmonu un NodeManager dēmonu: (ports 8088).

# sbin/start-yarn.sh

16. Pārtraukt visus pakalpojumus.

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

Kopsavilkums
Šajā rakstā mēs esam pakāpeniski izgājuši Hadoop pseidonoda (viena mezgla) klastera iestatīšanu. Ja jums ir pamatzināšanas par Linux un veicat šīs darbības, klasteris tiks palaists 40 minūtēs.

Iesācējam tas var būt ļoti noderīgi, lai sāktu mācīties un praktizēt Hadoop, vai šo Hadoop vaniļas versiju var izmantot attīstības vajadzībām. Ja mēs vēlamies, lai būtu reāllaika kopa, mums vai nu ir vajadzīgi vismaz 3 fiziski serveri, vai arī mums ir jānodrošina mākonis, lai būtu vairāki serveri.