ວິທີການຕິດຕັ້ງ Hadoop Single Node Cluster (Pseudonode) ໃນ CentOS 7


Hadoop ແມ່ນໂຄງຮ່າງການເປີດກວ້າງທີ່ຖືກ ນຳ ໃຊ້ຢ່າງກວ້າງຂວາງໃນການຈັດການກັບ Bigdata. ໂຄງການ Bigdata/Data Analytics ສ່ວນໃຫຍ່ແມ່ນ ກຳ ລັງສ້າງຢູ່ເທິງສຸດຂອງລະບົບ Hadoop Eco-System. ມັນປະກອບດ້ວຍສອງຊັ້ນ, ຊັ້ນ ໜຶ່ງ ແມ່ນ ສຳ ລັບເກັບຂໍ້ມູນແລະອີກຊັ້ນ ໜຶ່ງ ແມ່ນ ສຳ ລັບການປະມວນຜົນຂໍ້ມູນ.

ການເກັບຮັກສາຈະໄດ້ຮັບການເບິ່ງແຍງໂດຍລະບົບແຟ້ມເອກະສານຂອງມັນເອງທີ່ມີຊື່ວ່າ HDFS (Hadoop Distributed Filesystem) ແລະການປຸງແຕ່ງຈະຖືກເບິ່ງແຍງໂດຍ YARN (Yet Another Negotiator Resource ເຈລະຈາ). Mapreduce ແມ່ນເຄື່ອງຈັກປະມວນຜົນໃນຕອນຕົ້ນຂອງລະບົບ Hadoop Eco-System.

ບົດຂຽນນີ້ອະທິບາຍຂັ້ນຕອນໃນການຕິດຕັ້ງ Pseudonode ຕິດຕັ້ງ Hadoop, ບ່ອນທີ່ daemons (JVMs) ທັງ ໝົດ ຈະໃຊ້ Single Node Cluster ໃນ CentOS 7.

ນີ້ສ່ວນໃຫຍ່ແມ່ນ ສຳ ລັບຜູ້ເລີ່ມຮຽນຮູ້ Hadoop. ໃນເວລາຈິງ, Hadoop ຈະຖືກຕິດຕັ້ງເປັນກຸ່ມ multinode ບ່ອນທີ່ຂໍ້ມູນຈະຖືກແຈກຢາຍໃນບັນດາເຊີບເວີເປັນທ່ອນໄມ້ແລະວຽກຈະຖືກປະຕິບັດໄປພ້ອມໆກັນ.

  • ການຕິດຕັ້ງເຊີບເວີ CentOS 7 ໜ້ອຍ ທີ່ສຸດ.
  • ການປ່ອຍ Java v1.8.

ໃນ ໜ້າ ນີ້

  • ວິທີຕິດຕັ້ງ Java ໃນ CentOS 7
  • ຕັ້ງຄ່າການເຂົ້າສູ່ລະບົບແບບບໍ່ມີລະຫັດໃນ CentOS 7
  • ວິທີຕິດຕັ້ງ Hadoop Single Node ໃນ CentOS 7
  • ວິທີການຕັ້ງຄ່າ Hadoop ໃນ CentOS 7
  • ການຈັດຮູບແບບລະບົບເອກະສານ HDFS ຜ່ານ NameNode

1. Hadoop ແມ່ນລະບົບ Eco-System ເຊິ່ງປະກອບດ້ວຍ Java. ພວກເຮົາຕ້ອງການຕິດຕັ້ງ Java ໃນລະບົບຂອງພວກເຮົາຢ່າງ ຈຳ ເປັນເພື່ອຕິດຕັ້ງ Hadoop.

# yum install java-1.8.0-openjdk

2. ຕໍ່ໄປ, ກວດສອບລຸ້ນ Java ທີ່ຕິດຕັ້ງຢູ່ໃນລະບົບ.

# java -version

ພວກເຮົາ ຈຳ ເປັນຕ້ອງມີການຕັ້ງຄ່າ ssh ໃນເຄື່ອງຂອງພວກເຮົາ, Hadoop ຈະຈັດການກັບຂໍ້ທີ່ໃຊ້ SSH. node Master ໃຊ້ການເຊື່ອມຕໍ່ SSH ເພື່ອເຊື່ອມຕໍ່ເຄືອຂ່າຍທາດຂອງມັນແລະປະຕິບັດການ ດຳ ເນີນງານເຊັ່ນ: ເລີ່ມຕົ້ນແລະຢຸດ.

ພວກເຮົາ ຈຳ ເປັນຕ້ອງຕັ້ງຄ່າລະຫັດຜ່ານ - ssh ໜ້ອຍ ລົງເພື່ອໃຫ້ແມ່ບົດສາມາດສື່ສານກັບຂ້າໃຊ້ໂດຍໃຊ້ ssh ໂດຍບໍ່ຕ້ອງມີລະຫັດຜ່ານ. ຖ້າບໍ່ດັ່ງນັ້ນ ສຳ ລັບການສ້າງຕັ້ງການເຊື່ອມຕໍ່ແຕ່ລະຄັ້ງ, ທ່ານຕ້ອງໃສ່ລະຫັດຜ່ານ.

ໃນ node ດຽວນີ້, ການບໍລິການ Master (Namenode, Secondary Namenode & Resource Manager) ແລະການບໍລິການ Slave (Datanode & Nodemanager) ຈະຖືກ ດຳ ເນີນງານເປັນ JVMs ແຍກຕ່າງຫາກ. ເຖິງແມ່ນວ່າມັນຈະເປັນຂໍ້ມູນ, ແຕ່ພວກເຮົາ ຈຳ ເປັນຕ້ອງມີລະຫັດຜ່ານ - ຫນ້ອຍກວ່າ ssh ເພື່ອເຮັດໃຫ້ Master ຕິດຕໍ່ສື່ສານໂດຍບໍ່ໄດ້ຮັບການກວດສອບ.

3. ຕັ້ງຄ່າເຂົ້າລະຫັດ SSH ທີ່ມີລະຫັດຜ່ານ ໜ້ອຍ ລົງໂດຍໃຊ້ ຄຳ ສັ່ງຕໍ່ໄປນີ້ໃນເຊີບເວີ.

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

4. ຫຼັງຈາກທີ່ທ່ານຕັ້ງຄ່າເຂົ້າລະຫັດ SSH ທີ່ບໍ່ມີລະຫັດ, ພະຍາຍາມເຂົ້າສູ່ລະບົບອີກຄັ້ງ, ທ່ານຈະຖືກເຊື່ອມຕໍ່ໂດຍບໍ່ຕ້ອງໃສ່ລະຫັດຜ່ານ.

# ssh localhost

5. ເຂົ້າໄປທີ່ເວັບໄຊທ໌ Apache Hadoop ແລະດາວໂຫລດ Hadoop ທີ່ມີຄວາມ ໝັ້ນ ຄົງໂດຍໃຊ້ ຄຳ ສັ່ງ 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. ຕໍ່ໄປ, ຕື່ມຕົວປ່ຽນສະພາບແວດລ້ອມຂອງ Hadoop ໃນແຟ້ມ ~/.bashrc ຕາມທີ່ສະແດງ.

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 ເພື່ອໃຫ້ ເໝາະ ສົມກັບເຄື່ອງຂອງທ່ານ. ໃນ Hadoop, ແຕ່ລະບໍລິການມີເລກທີ່ Port ຂອງມັນເອງແລະໄດເລກະທໍລີຂອງມັນເອງເພື່ອເກັບຂໍ້ມູນ.

  • ເອກະສານການຕັ້ງຄ່າ Hadoop - core-site.xml, hdfs-site.xml, mapred-site.xml & ເສັ້ນດ້າຍ-site.xml

8. ກ່ອນອື່ນ ໝົດ, ພວກເຮົາ ຈຳ ເປັນຕ້ອງໄດ້ປັບປຸງ JAVA_HOME ແລະເສັ້ນທາງ Hadoop ໃນເອກະສານ hadoop-env.sh ດັ່ງທີ່ສະແດງໄວ້.

# 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> tags ຕາມທີ່ສະແດງ.

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

10. ສ້າງບັນດາທິດທາງຂ້າງລຸ່ມນີ້ພາຍໃຕ້ tecmint ລະບົບໂຮມຂອງຜູ້ໃຊ້, ເຊິ່ງຈະຖືກ ນຳ ໃຊ້ ສຳ ລັບເກັບຂໍ້ມູນ 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> tags ຕາມທີ່ສະແດງ.

<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> tags ຕາມທີ່ສະແດງ.

<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> tags ຕາມທີ່ສະແດງ.

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

13. ກ່ອນທີ່ຈະເລີ່ມ Cluster, ພວກເຮົາ ຈຳ ເປັນຕ້ອງຈັດຮູບແບບ Hadoop NN ໃນລະບົບທ້ອງຖິ່ນຂອງພວກເຮົາບ່ອນທີ່ມັນໄດ້ຕິດຕັ້ງແລ້ວ. ໂດຍປົກກະຕິແລ້ວ, ມັນຈະຖືກປະຕິບັດໃນຂັ້ນຕອນເບື້ອງຕົ້ນກ່ອນທີ່ຈະເລີ່ມກຸ່ມດັ່ງກ່າວເປັນຄັ້ງ ທຳ ອິດ.

ການຈັດຮູບແບບ NN ຈະເຮັດໃຫ້ສູນເສຍຂໍ້ມູນໃນ NN metastore, ສະນັ້ນພວກເຮົາຕ້ອງມີຄວາມລະມັດລະວັງຫລາຍຂຶ້ນ, ພວກເຮົາບໍ່ຄວນຈັດຮູບແບບ NN ໃນຂະນະທີ່ cluster ກຳ ລັງ ດຳ ເນີນການເວັ້ນເສຍແຕ່ວ່າມັນຕ້ອງການໂດຍເຈດຕະນາ.

# cd $HADOOP_PREFIX
# bin/hadoop namenode -format

14. ເລີ່ມຕົ້ນ daemon Name daode ແລະ DataNode daemon: (port 50070).

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

15. ເລີ່ມຕົ້ນ daemon ຂອງ ResourceManager ແລະ daode NodeManager: (port 8088).

# sbin/start-yarn.sh

16. ເພື່ອຢຸດການບໍລິການທັງ ໝົດ.

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

ສະຫຼຸບສັງລວມ
ໃນບົດຂຽນນີ້, ພວກເຮົາໄດ້ຜ່ານຂັ້ນຕອນໂດຍຂັ້ນຕອນເພື່ອຕັ້ງກຸ່ມ Hadoop Pseudonode (Single Node) Cluster. ຖ້າທ່ານມີຄວາມຮູ້ພື້ນຖານກ່ຽວກັບ Linux ແລະປະຕິບັດຕາມຂັ້ນຕອນເຫຼົ່ານີ້, ກຸ່ມຈະຍົກລະດັບຂຶ້ນພາຍໃນ 40 ນາທີ.

ສິ່ງນີ້ສາມາດເປັນປະໂຫຍດຫຼາຍ ສຳ ລັບຜູ້ເລີ່ມຕົ້ນທີ່ຈະເລີ່ມຕົ້ນຮຽນຮູ້ແລະຝຶກຊ້ອມ Hadoop ຫຼືຮຸ່ນ Vanilla ຂອງ Hadoop ນີ້ສາມາດຖືກ ນຳ ໃຊ້ເພື່ອການພັດທະນາ. ຖ້າພວກເຮົາຕ້ອງການມີກຸ່ມທີ່ໃຊ້ເວລາຈິງ, ພວກເຮົາຕ້ອງການຢ່າງ ໜ້ອຍ 3 ເຊີບເວີທາງດ້ານຮ່າງກາຍຢູ່ໃນມືຫລືຕ້ອງມີການຈັດຫາ Cloud ສຳ ລັບການມີຫລາຍເຊີບເວີ.