Docsity
Docsity

Prepare for your exams
Prepare for your exams

Study with the several resources on Docsity


Earn points to download
Earn points to download

Earn points by helping other students or get them with a premium plan


Guidelines and tips
Guidelines and tips

Cài đặt Hadoop Cluster, Lab Reports of Data Acquisition

hướng dẫn Cài đặt Hadoop Cluster đơn giản dễ hiểu

Typology: Lab Reports

2023/2024

Uploaded on 04/14/2024

uyen-luong-thao
uyen-luong-thao 🇻🇳

1 document

1 / 17

Related documents


Partial preview of the text

Download Cài đặt Hadoop Cluster and more Lab Reports Data Acquisition in PDF only on Docsity! Cài đặt Hadoop Eco System – Phần 2 - Ubuntu Server 22.04 - Hadoop 3.3.4 - Login với vai trò root (pass: root) để thực hiện những công việc sau 1. Thiết lập IP tĩnh cho master - Kiểm tra các thiết bị mạng # networkctl - In trạng thái của từng địa chỉ IP trên hệ thống # networkctl status Nhấn phím q để thoát thông báo - Cấu hình IP tĩnh (Gl Ubuntu Server 21-10 64-bit - VMware Workstation = t File Edit View VM Tabs Help [J-~ | 2 @ Q2QiOneaoW ® Virtual Network Editor... Preferences... Ctrl+P ata 4.3 Cài đặt hostname cho master (thực hiện trên máy master) # vim /etc/hostname - Trong file này sẽ xuất hiện hostname mặc định của máy, xóa đi và đổi thành minhchau-master - Restart máy # reboot 4.4 Cài đặt hostname cho slave (thực hiện trên máy slave) # vim /etc/hostname - Trong file này sẽ xuất hiện hostname mặc định của máy, xóa đi và đổi thành minhchau-slave1 - Restart máy # reboot 5. Tạo user hadoop Đã hoàn thành trong Phần 1 6. Cài đặt Hadoop 3.3.4 Đã hoàn thành trong Phần 1 7. Cấu hình các thông số cho Hadoop 7.1 File .bashrc # vim ~/.bashrc - Thêm vào cuối file .bashrc nội dung như sau: export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 export HADOOP_HOME=/home/hadoopminhchau/hadoop export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop export HADOOP_YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export HADOOP_OPTS="- Djava.library.path=$HADOOP_HOME/lib/native" - Nhấn Esc, nhập :wq để lưu và thoát file. - Soucre file .bashrc # source ~/.bashrc 7.2 File hadoop-env.sh # vim ~/hadoop/etc/hadoop/hadoop-env.sh - Tìm đoạn export JAVA_HOME=... sửa thành như sau: export JAVA_HOME=/usr/lib/jvm/java-1.11.0-openjdk-amd64 7.3 File core-site.xml # vim ~/hadoop/etc/hadoop/core-site.xml - Cấu hình lại thông tin như sau: <configuration> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoopminhchau/tmp</value> <description>Temporary Directory.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://minhchau-master:9000</value> <description>Use HDFS as file storage engine</description> </property> </configuration> 7.4 File mapred-site (chỉ cấu hình ở master) # cd ~/hadoop/etc/hadoop/ # vim mapred-site.xml - Chỉnh sửa lại thông tin như sau: <configuration> <property> <name>mapreduce.application.classpath</name> <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOO P_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value> </property> <property> <name>mapreduce.jobtracker.address</name> <value>minhchau-master:9001</value> <description>The host and port that the MapReduce job tracker runs at. If “local”, then jobs are run in-process as a single map and reduce task. </description> </property> <property> <name>mapreduce.framework.name</name> <value>yarn</value> <description>The framework for running mapreduce jobs</description> </property> <property> <name>yarn.app.mapreduce.am.env</name> <value>HADOOP_MAPRED_HOME=/home/hadoopminhchau/hadoop</val ue> </property> <property> <value>minhchau-master:9002</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>minhchau-master:9003</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>minhchau-master:9004</value> </property> <property> <name>yarn.resourcemanager.resource- tracker.address</name> <value>minhchau-master:9005</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>minhchau-master:9006</value> </property> </configuration> 8. Chỉ ra các máy slaves (chỉ cấu hình ở master) # vim ~/hadoop/etc/hadoop/workers Thêm hostname của các máy slave: mỗi máy salve đặt trên 1 dòng 9. Tạo máy minhchau-slave1 - Tắt máy Master. - Copy Master ra, đổi tên thành Slave1 - Mở máy slave, chỉnh lại IP tĩnh và các thông số cho phù hợp: hosts, hostname… Reboot máy - Lưu ý: o Một số lệnh cần phải có quyền root mới thực hiện được. 10. Cài đặt ssh key giữa các node Thao tác này chỉ thực hiện trên master - Đăng nhập với hadoopminhchau - Tạo ssh key # ssh-keygen -t rsa -P "" - Nhấn Enter để chấp nhận giá trị mặc định # cat /home/hadoopminhchau/.ssh/id_rsa.pub >> /home/hadoopminhchau/.ssh/authorized_keys # chmod 600 /home/hadoopminhchau/.ssh/authorized_keys - Share ssh key giữa master - master # ssh-copy-id -i ~/.ssh/id_rsa.pub minhchau-master - Share ssh key giữa master - slave # ssh-copy-id -i ~/.ssh/id_rsa.pub minhchau-slave1 10.1 Test kết nối ssh - Test kết nối tới master # ssh hadoopminhchau@minhchau-master - Đăng xuất # logout - Test kết nối tới slave # ssh hadoopminhchau@minhchau-slave1 - Đăng xuất # logout 11. Format namenode - Thao tác này chỉ thực hiện trên master và chỉ làm 1 lần. - Cập nhật lại các thông tin cấu hình của master $ hadoop/bin/hdfs namenode -format 12. Kiểm tra xem mọi thứ đã ổn - Trên master chúng ta chạy lệnh sau để khởi động các thành phần có trong Hadoop # start-all.sh (chỉ cần chạy trên Master, không cần chạy trên Slave) - Kiểm tra các thành phần có chạy đủ bằng lệnh sau # jps - Nếu xuất hiện output dạng như sau thì có nghĩa là các thành phần đã chạy đủ Máy Master Máy Slave mkdir input echo "Hello World" >input/file1.txt echo "Hello Hadoop" >input/file2.txt # create input directory on HDFS hadoop fs -mkdir -p input1 # put input files to HDFS hdfs dfs -put ./input/* input1 # run wordcount hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/sources/hadoop- mapreduce-examples-3.3.4-sources.jar org.apache.hadoop.examples.WordCount input1 output1 # print the input files echo -e "\ninput file1.txt:" hdfs dfs -cat input1/file1.txt echo -e "\ninput file2.txt:" hdfs dfs -cat input1/file2.txt # print the output of wordcount echo -e "\nwordcount output:" hdfs dfs -cat output1/part-r-00000 Giải thích: Test trên sẽ tạo ra 2 file file1.txt và file2.txt có nội dung lần lượt là Hello World và Hello Hadoop. 2 file này lần lượt được đưa vào trong HDFS, sau đó sẽ chạy một job có nhiệm vụ đếm số lần xuất của hiện của mỗi từ có trong file1.txt và file2.txt. - Chạy test # ./test.sh - Nếu báo lỗi Permission denied thì thực hiện lệnh # chmod +x test.sh - Chạy xong mà nhận được kết quả dạng như bên dưới là mọi thứ OK. - Trong trường hợp bạn muốn test lại thì phải xóa kết quả cũ bằng lệnh sau # rm -rf input # hadoop fs -rm -r input1 # hadoop fs -rm -r output1 rồi chạy lại lệnh # ./test.sh 14. Một số lưu ý - Lệnh “hadoop namenode -format” chỉ thực hiện một lần duy nhất lúc cài hadoop. Nếu chạy lại lần 2 thì cả cụm (cluster) bị mất. - Nếu chỉ muốn làm sạch datanode thì dùng ssh đến node đó, sau đó có thể format data disk hoặc xóa dữ liệu. Cách an toàn hơn là chạy lệnh “rm -rf /data/disk1”, “rm -rf /data/disk2”, giả sử datanode lưu trữ dữ liệu tại /data/disk1 và /data/disk2. 15. Sửa lỗi khi không tìm thấy datanode - Kiểm tra lại các file cấu hình: file mapred-site.xml và slaves chỉ cấu hình ở master. Trên máy slave không chỉnh 2 file này. - Đảm bảo file hosts trên master và slave như nhau. - Sửa file /etc/hosts.allow trên 2 máy master và slave - Tắt firewall trên 2 máy master và slave sudo ufw disable - Cuối cùng, xóa thư mục namenode và datanode từ tất cả các node trong cluster $HADOOP_HOME/bin> hadoop namenode -format -force $HADOOP_HOME/sbin> start-dfs.sh $HADOOP_HOME/sbin> start-yarn.sh
Docsity logo



Copyright © 2024 Ladybird Srl - Via Leonardo da Vinci 16, 10126, Torino, Italy - VAT 10816460017 - All rights reserved