ວິທີການຕິດຕັ້ງ 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 ສຳ ລັບການມີຫລາຍເຊີບເວີ.