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.
- Hadoop 3.3.
- 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
2. Cài đặt OpenJDK
Đã hoàn thành trong Phần 1
3. Cài đặt SSH
Đã hoàn thành trong Phần 1
3.1 Cấu hình SSH
Đã hoàn thành trong Phần 1
4. Cấu hình host/hostname
4.1 Kiểm tra ip của các máy master, slave
#ip addr show Ví dụ:
- Master: 192.168.86.
- Slave: 192.168.86.
4.2 Cấu hình host
vim /etc/hosts
- Nhấn phím i để chuyển sang chế độ insert, bổ sung thêm 2 host master và slave như sau:
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-slave
- Restart máy
reboot
5. Tạo user hadoop
Đã hoàn thành trong Phần 1
6. Cài đặt Hadoop 3.3.
Đã 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-amd 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
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:
mapreduce.application.classpath $HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOO
P_MAPRED_HOME/share/hadoop/mapreduce/lib/*
mapreduce.jobtracker.address minhchau-master:9001 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.
mapreduce.framework.name yarn The framework for running mapreduce jobs
yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=/home/hadoopminhchau/hadoop
mapreduce.map.env HADOOP_MAPRED_HOME=/home/hadoopminhchau/hadoop
mapreduce.reduce.env HADOOP_MAPRED_HOME=/home/hadoopminhchau/hadoop
7.5 File hdfs-site.xml
vim ~/hadoop/etc/hadoop/hdfs-site.xml
- Chỉnh sửa lại thông tin cấu hình như sau:
dfs.replication 2 Default block replication. The actual
number of replications can be specified when the file is created. The default is used if replication is not specified in create time.
dfs.namenode.name.dir
/home/hadoopminhchau/hadoop/hadoop_data/hdfs/na menode Determines where on the local filesystem the DFS name node should store the name table(fsimage). If
minhchau-master:9002
yarn.resourcemanager.address minhchau-master:9003
yarn.resourcemanager.webapp.address minhchau-master:9004
yarn.resourcemanager.resource- tracker.address minhchau-master:9005
yarn.resourcemanager.admin.address minhchau-master:9006
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-slave
- Tắt máy Master.
- Copy Master ra, đổi tên thành Slave
- 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-slave
10.1 Test kết nối ssh
ssh hadoopminhchau@minhchau-master
logout
- Kiểm tra các máy slave còn hoạt động hay không
hdfs dfsadmin -report
- Nếu thấy xuất hiện output như sau thì có nghĩa là máy slave vẫn đang hoạt động
13. Chạy thử
13.1 Tạo test
- Ra thư mục gốc, tạo file test
cd ~
vim test.sh
- Tạo nội dung như sau #!/bin/bash
test the hadoop cluster by running wordcount
create input files
- 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 input
hadoop fs -rm -r output
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