lOMoARcPSD| 58507440
Nguyen Thi Diem Huong B2104771
**Cài ặt thông tin các máy
- Tạo ra 3 máy ảo: 1 master và 2 node (chỉ chủ yếu cài ặt thông tin tren máy master
là chính)
+ gõ lệnh: sudo nano /etc/hosts: ặt tên cho các máy master và node (có
th ặt tùy ý nhưng ặt master cho dễ phân biệt
+ gõ lệnh sudo nano /etc/hostname: ể thêm các ịa chỉ vào kết nối và ping ược
với nhau
192.168.1.33 master3
192.168.1.32 node2
192.168.1.34 node4 => nếu làm trên cùng 1 máy và tạo 3 máy ảo thì dùng
luôn ịa chỉ của máy ảo ó
=> Kiểm tra xem ã kết nối ược chưa bằng cách ping tới add_IP hoặc tên
node
- Tạo người dùng hadoop: adduser hadoop password: abc123
=> Đăng nhập vào người dùng hadoop: su hadoop
{
**Cài ặt SSH trên cả 3 máy
- sudo nano apt-get update: cập nhật
- sudo nano apt-get install openssh-server: tải ssh xuống
- Tạo 1 khóa trên master: ssh-keygen -b 4096
- ***=> Có thể dùng lệnh này ể copy file chứa khóa xuống 2 máy còn lại: ssh-copy-
id -i ~/.ssh/id_rsa.pub hadoop@node2
=> khỏi làm phần còn lại
- Xem khóa bằng lệnh: less /home/hadoop/.ssh/id_rsa.pub và copy khóa vào 1 chỗ
nhớ tạm trên master
- master tạo 1 tệp master.pub: sudo nano /home/hadoop/.ssh/master.pub
=> Dán khóa ã copy vào
- Đăng nhập vào các node2 bằng lệnh ssh node2
+ Tạo khóa bằng lệnh: ssh-keygen -b 4096
+ sudo nano /home/hadoop/.ssh/master.pub =>. Dán khóa ã
copy vào
+ cat ~/.ssh/master.pub >> ~/.ssh/authorized_keys
=> làm tương tự cho node4
=> cat ~/.ssh/master.pub >> ~/.ssh/authorized_keys
** Cài ặt hadoop ở master
- cd
- wget http://apache.cs.utah.edu/hadoop/common/current/hadoop-3.4.0.tar.gz : Tải
hadoop xuống
- tar -xzf hadoop-3.4.0.tar.gz: Gii nén
- mv hadoop-3.4.0 hadoop : ổi tên thành hadoop
- Thêm ường dẫn vào File: /home/hadoop/.profile sudo nano /home/hadoop/.profile
nội dung:
PATH=/home/hadoop/hadoop/bin:/home/hadoop/hadoop/sbin:$PATH
lOMoARcPSD| 58507440
- Thêm ường dẫn vào File: /home/hadoop/.bashrc - sudo nano /home/hadoop/.bashrc -
nội dung:
export HADOOP_HOME=/home/hadoop/hadoop
export PATH=${PATH}:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin -
Sau khi chỉnh sửa cấu hình cần sài lệnh: source ~/.bashrc source ~/.profile
** Tải JDK-8
- sudo apt-get update
- sudo apt-get install openjdk-8-jdk : Tải gói jdk về
- java -version : check xem JDK ã cài ặt thành công chưa
- update-alternatives --display java : Xem ường dẫn của JDK ã cài ặt
- Mở file sudo nano ~/hadoop/etc/hadoop/hadoop-env.sh và chỉnh sửa cho export
JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
**Set NameNode Location
- Vào file sudo ~/hadoop/etc/hadoop/core-site.xml - Thêm vào:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://master3:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop</value>
</property>
</configuration>
**Set HDFS
- Vào file nano ~/hadoop/etc/hadoop/hdfs-site.xml -
Thêm vào:
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop/data/nameNode</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop/data/dataNode</value> </property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
lOMoARcPSD| 58507440
</configuration>
**Set YARN as Job Scheduler
- Vào file nano ~/hadoop/etc/hadoop/mapred-site.xml -
Thêm vào:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>yarn.app.mapreduce.am.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.map.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
<property>
<name>mapreduce.reduce.env</name>
<value>HADOOP_MAPRED_HOME=$HADOOP_HOME</value>
</property>
</configuration>
**Set YARN
- Vào file nano ~/hadoop/etc/hadoop/yarn-site.xml -
Thêm vào:
<configuration>
<property>
<name>yarn.acl.enable</name>
<value>0</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master3</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> </property>
</configuration>
**Configure Workers
- Vào file nano ~/hadoop/etc/hadoop/workers -
Thêm vào:
lOMoARcPSD| 58507440
node2 node4
* Chỉnh sửa /home/hadoop/hadoop/etc/hadoop/yarn-site.xml và thêm các dòng
sau: sudo nano ~/hadoop/etc/hadoop/yarn-site.xml Thêm những oạn này
vào phía sau:
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>1536</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>1536</value>
</property>
<property>
<name>yarn.scheduler.minimum-allocation-mb</name>
<value>128</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
*Chỉnh sửa /home/hadoop/hadoop/etc/hadoop/mapred-site.xml và thêm các
dòng sau: sudo nano ~/hadoop/etc/hadoop/mapred-site.xml Thêm các dòng
sau:
<property>
<name>yarn.app.mapreduce.am.resource.mb</name>
<value>512</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>256</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>256</value>
</property>
** Nhân ôi
- cd /home/hadoop
- scp hadoop-*.tar.gz node1:/home/hadoop
lOMoARcPSD| 58507440
- scp hadoop-*.tar.gz node2:/home/hadoop
=> Copy file hadoop-*.tar.gz xuống - Kết nối qua các
nút giải nén file ssh node2
tar -xzf hadoop-3.4.0.tar.gz
mv hadoop-3.4.0 hadoop
exit
- node4 làm tương tự node2
- for node in node2 node4; do
scp ~/hadoop/etc/hadoop/*
$node:/home/hadoop/hadoop/etc/hadoop/; done
=> nếu k dùng người dùng hadoop thì for node
in node2 node4; do
scp ~/hadoop/etc/hadoop/*
$node:/home/student/hadoop/etc/hadoop/; done
** Format HDFS
chạy trên Master: hdfs namenode -format
=> như này là thành công
**Chạy và giám sát HDFS
Start and Stop HDFS
Khởi chạy HDFS bằng cách chạy tập lệnh sau từ node-master:
start-dfs.sh
lOMoARcPSD| 58507440
=>Nếu nó hiển thị là no route to host tức là 2 node ang chưa có mạng, do ể lâu thì mạng tự tắt,
nên qua 2 node ó bấm vào biểu tượng mũi tên lên xuống --> bấm vào wireless connection
một lần là nó sẽ có mạng
Chạy lại lệnh start-dfs.sh
Stop it first là ã ược khởi tạo rồi
Thao tác này sẽ khởi ộng NameNode và PrimaryNameNode trên nút-master và DataNode trên
node-slave1 và node-slave2, theo cấu hình trong tệp cấu workers config file
Kiểm tra xem mọi tiến trình có ang chạy bằng lệnh jps trên mỗi nút hay không. Trên node-
master, bạn sẽ thấy thông tin sau (số PID sẽ khác):
gõ lệnh: jsp
-Kết quả trên master
-Kết quả trên node
=> Lưu ý: khi jps ở 2 node phải thấy ược DataNode xuất hiện thì start mới thành công. nếu không
thấy hãy kéo xuống chỉ dẫn cuối trang.
lOMoARcPSD| 58507440
Để dừng HDFS trên node-master and worker nodes, hãy chạy lệnh sau từ
node-master: stop-dfs.sh
**Giám sát cụm HDFS của bạn
-Lên trên web gõ ịa chỉ của máy: http://node-master-IP:9870 -Đúng
sẽ có giao diện như này:
**RUN YARN
Start and Stop YARN
1. Start YARN with the script:
start-yarn.sh
-Cho ra kết quả như vậy là úng, nếu chưa úng kiểm tra lại cấu hình
2.Kiểm tra mọi thứ có ang chạy bằng lệnh jsp
-master sẽ có thêm ResourceManager
lOMoARcPSD| 58507440
-node có thêm NodeManager
3. Để dừng YARN, hãy chạy lệnh sau trên node-master:
stop-yarn.sh
4. Kiểm tra qua giao diện: lên web gõ: http://node-master-IP:8088
ĐẨY FILE TỪ MÁY CỤC BỘ LÊN HADOOP
** THỰC HÀNH BUỔI 2
Nội dung: ếm từ
1. Tạo thư mục data trên hadoop bằng cách gõ lệnh: hadoop fs -mkdir /data/ hadoop fs -
mkdir /data/input hadoop fs -mkdir /data/output
2. Tải file có dữ liệu ếm ặt tên là salary.txt ể trong home
3. Đẩy file ó lên hadoop và vào thư mục /data/input/input1 lệnh: hadoop fs -put
salary.txt /data/input/input1
4. mở file ~./bashrc thêm ường dẫn này vào
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export
HADOOP_HOME=/home/hadoop/hadoop export
HADOOP_INSTALL=$HADOOP_HOME export
lOMoARcPSD| 58507440
HADOOP_MAPRED_HOME=$HADOOP_HOME export
HADOOP_COMMON_HOME=$HADOOP_HOME export
HADOOP_HDFS_HOME=$HADOOP_HOME export
HADOOP_YARN_HOME=$HADOOP_HOME export
HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export
PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin export
HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native" export
HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar
5. source ~/.bashrc
6. Tạo thư mục wc => làm ở master sudo mkdir wc
cd wc
7. tải file WordCount.java của thầy xuống ể trong thư mục wc => khi chạy sẽ có 3 file
.class
hadoop com.sun.tools.javac.Main WordCount.java
8. nén 3 file .class lại: jar cf wc.jar WordCount*.class
9. chạy hadoop file hadoop jar wc.jar WordCount /data/input/input1 /data/output/wcout1
10. Để xem file chạy ra kết quả nào vào hadoop trên web chỗ Browser download file ó về và
xem bằng cách hadoop dfs -cat /data/output/wcout1/part-*

Preview text:

lOMoAR cPSD| 58507440
Nguyen Thi Diem Huong B2104771
**Cài ặt thông tin các máy
- Tạo ra 3 máy ảo: 1 master và 2 node (chỉ chủ yếu cài ặt thông tin tren máy master là chính)
+ gõ lệnh: sudo nano /etc/hosts: ể
ặt tên cho các máy master và node (có thể
ặt tùy ý nhưng ặt master cho dễ phân biệt
+ gõ lệnh sudo nano /etc/hostname: ể thêm các
ịa chỉ vào kết nối và ping ược với nhau 192.168.1.33 master3 192.168.1.32 node2
192.168.1.34 node4 => nếu làm trên cùng 1 máy và tạo 3 máy ảo thì dùng luôn ịa chỉ của máy ảo ó => Kiểm tra xem ã kết nối
ược chưa bằng cách ping tới add_IP hoặc tên node
- Tạo người dùng hadoop: adduser hadoop password: abc123
=> Đăng nhập vào người dùng hadoop: su hadoop {
**Cài ặt SSH trên cả 3 máy
- sudo nano apt-get update: cập nhật
- sudo nano apt-get install openssh-server: tải ssh xuống
- Tạo 1 khóa trên master: ssh-keygen -b 4096
- ***=> Có thể dùng lệnh này ể copy file chứa khóa xuống 2 máy còn lại: ssh-copy-
id -i ~/.ssh/id_rsa.pub hadoop@node2
=> khỏi làm phần còn lại
- Xem khóa bằng lệnh: less /home/hadoop/.ssh/id_rsa.pub và copy khóa vào 1 chỗ nhớ tạm trên master
- master tạo 1 tệp master.pub: sudo nano /home/hadoop/.ssh/master.pub => Dán khóa ã copy vào
- Đăng nhập vào các node2 bằng lệnh ssh node2
+ Tạo khóa bằng lệnh: ssh-keygen -b 4096
+ sudo nano /home/hadoop/.ssh/master.pub =>. Dán khóa ã copy vào
+ cat ~/.ssh/master.pub >> ~/.ssh/authorized_keys
=> làm tương tự cho node4
=> cat ~/.ssh/master.pub >> ~/.ssh/authorized_keys
** Cài ặt hadoop ở master - cd
- wget http://apache.cs.utah.edu/hadoop/common/current/hadoop-3.4.0.tar.gz : Tải hadoop xuống
- tar -xzf hadoop-3.4.0.tar.gz: Giải nén
- mv hadoop-3.4.0 hadoop : ổi tên thành hadoop
- Thêm ường dẫn vào File: /home/hadoop/.profile sudo nano /home/hadoop/.profile nội dung:
PATH=/home/hadoop/hadoop/bin:/home/hadoop/hadoop/sbin:$PATH lOMoAR cPSD| 58507440
- Thêm ường dẫn vào File: /home/hadoop/.bashrc - sudo nano /home/hadoop/.bashrc - nội dung:
export HADOOP_HOME=/home/hadoop/hadoop
export PATH=${PATH}:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin -
Sau khi chỉnh sửa cấu hình cần sài lệnh: source ~/.bashrc source ~/.profile ** Tải JDK-8 - sudo apt-get update
- sudo apt-get install openjdk-8-jdk : Tải gói jdk về
- java -version : check xem JDK
ã cài ặt thành công chưa
- update-alternatives --display java : Xem ường dẫn của JDK ã cài ặt
- Mở file sudo nano ~/hadoop/etc/hadoop/hadoop-env.sh và chỉnh sửa cho export JAVA_HOME:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/jre
**Set NameNode Location
- Vào file sudo ~/hadoop/etc/hadoop/core-site.xml - Thêm vào:
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?> fs.default.name hdfs://master3:9000 hadoop.tmp.dir /tmp/hadoop **Set HDFS
- Vào file nano ~/hadoop/etc/hadoop/hdfs-site.xml - Thêm vào: dfs.namenode.name.dir /home/hadoop/data/nameNode dfs.datanode.data.dir /home/hadoop/data/dataNode dfs.replication 2 lOMoAR cPSD| 58507440
**Set YARN as Job Scheduler
- Vào file nano ~/hadoop/etc/hadoop/mapred-site.xml - Thêm vào: mapreduce.framework.name yarn yarn.app.mapreduce.am.env
HADOOP_MAPRED_HOME=$HADOOP_HOME mapreduce.map.env
HADOOP_MAPRED_HOME=$HADOOP_HOME mapreduce.reduce.env
HADOOP_MAPRED_HOME=$HADOOP_HOME **Set YARN
- Vào file nano ~/hadoop/etc/hadoop/yarn-site.xml - Thêm vào: yarn.acl.enable 0 yarn.resourcemanager.hostname master3 yarn.nodemanager.aux-services mapreduce_shuffle **Configure Workers
- Vào file nano ~/hadoop/etc/hadoop/workers - Thêm vào: lOMoAR cPSD| 58507440 node2 node4
* Chỉnh sửa /home/hadoop/hadoop/etc/hadoop/yarn-site.xml và thêm các dòng
sau: sudo nano ~/hadoop/etc/hadoop/yarn-site.xml Thêm những oạn này vào phía sau:
yarn.nodemanager.resource.memory-mb 1536
yarn.scheduler.maximum-allocation-mb 1536
yarn.scheduler.minimum-allocation-mb 128
yarn.nodemanager.vmem-check-enabled false
*Chỉnh sửa /home/hadoop/hadoop/etc/hadoop/mapred-site.xml và thêm các
dòng sau: sudo nano ~/hadoop/etc/hadoop/mapred-site.xml Thêm các dòng sau:
yarn.app.mapreduce.am.resource.mb 512 mapreduce.map.memory.mb 256 mapreduce.reduce.memory.mb 256 ** Nhân ôi - cd /home/hadoop
- scp hadoop-*.tar.gz node1:/home/hadoop lOMoAR cPSD| 58507440
- scp hadoop-*.tar.gz node2:/home/hadoop
=> Copy file hadoop-*.tar.gz xuống - Kết nối qua các
nút ể giải nén file ssh node2
tar -xzf hadoop-3.4.0.tar.gz mv hadoop-3.4.0 hadoop exit
- node4 làm tương tự node2
- for node in node2 node4; do
scp ~/hadoop/etc/hadoop/*
$node:/home/hadoop/hadoop/etc/hadoop/; done
=> nếu k dùng người dùng hadoop thì for node in node2 node4; do
scp ~/hadoop/etc/hadoop/*
$node:/home/student/hadoop/etc/hadoop/; done ** Format HDFS
chạy trên Master: hdfs namenode -format
=> như này là thành công
**Chạy và giám sát HDFS
Start and Stop HDFS
Khởi chạy HDFS bằng cách chạy tập lệnh sau từ node-master: start-dfs.sh lOMoAR cPSD| 58507440
=>Nếu nó hiển thị là no route to host tức là 2 node ang chưa có mạng, do ể lâu thì mạng tự tắt, nên qua 2 node
ó bấm vào biểu tượng mũi tên lên xuống --> bấm vào wireless connection
một lần là nó sẽ có mạng
Chạy lại lệnh start-dfs.sh
Stop it first là ã ược khởi tạo rồi
Thao tác này sẽ khởi ộng NameNode và PrimaryNameNode trên nút-master và DataNode trên
node-slave1 và node-slave2, theo cấu hình trong tệp cấu workers config file
Kiểm tra xem mọi tiến trình có
ang chạy bằng lệnh jps trên mỗi nút hay không. Trên node-
master, bạn sẽ thấy thông tin sau (số PID sẽ khác): gõ lệnh: jsp
-Kết quả trên master
-Kết quả trên node
=> Lưu ý: khi jps ở 2 node phải thấy ược DataNode xuất hiện thì start mới thành công. nếu không
thấy hãy kéo xuống chỉ dẫn cuối trang. lOMoAR cPSD| 58507440
Để dừng HDFS trên node-master and worker nodes, hãy chạy lệnh sau từ node-master: stop-dfs.sh
**Giám sát cụm HDFS của bạn -Lên trên web gõ
ịa chỉ của máy: http://node-master-IP:9870 -Đúng
sẽ có giao diện như này: **RUN YARN Start and Stop YARN
1. Start YARN with the script: start-yarn.sh
-Cho ra kết quả như vậy là úng, nếu chưa úng kiểm tra lại cấu hình
2.Kiểm tra mọi thứ có ang chạy bằng lệnh jsp
-master sẽ có thêm ResourceManager lOMoAR cPSD| 58507440
-node có thêm NodeManager
3. Để dừng YARN, hãy chạy lệnh sau trên node-master: stop-yarn.sh
4. Kiểm tra qua giao diện: lên web gõ: http://node-master-IP:8088
ĐẨY FILE TỪ MÁY CỤC BỘ LÊN HADOOP
** THỰC HÀNH BUỔI 2 Nội dung: ếm từ
1. Tạo thư mục data trên hadoop bằng cách gõ lệnh: hadoop fs -mkdir /data/ hadoop fs -
mkdir /data/input hadoop fs -mkdir /data/output 2. Tải file có dữ liệu ể ếm ặt tên là salary.txt ể trong home 3. Đẩy file
ó lên hadoop và vào thư mục /data/input/input1 lệnh: hadoop fs -put
salary.txt /data/input/input1 4. mở file ~./bashrc thêm ường dẫn này vào
export JAVA_HOME=/usr/lib/jvm/java-11-openjdk-amd64 export
HADOOP_HOME=/home/hadoop/hadoop export
HADOOP_INSTALL=$HADOOP_HOME export lOMoAR cPSD| 58507440
HADOOP_MAPRED_HOME=$HADOOP_HOME export
HADOOP_COMMON_HOME=$HADOOP_HOME export
HADOOP_HDFS_HOME=$HADOOP_HOME export
HADOOP_YARN_HOME=$HADOOP_HOME export
HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export
PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin export
HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native" export
HADOOP_CLASSPATH=${JAVA_HOME}/lib/tools.jar 5. source ~/.bashrc
6. Tạo thư mục wc => làm ở master sudo mkdir wc cd wc
7. tải file WordCount.java của thầy xuống
ể trong thư mục wc => khi chạy sẽ có 3 file .class
hadoop com.sun.tools.javac.Main WordCount.java
8. nén 3 file .class lại: jar cf wc.jar WordCount*.class
9. chạy hadoop file hadoop jar wc.jar WordCount /data/input/input1 /data/output/wcout1
10. Để xem file chạy ra kết quả nào vào hadoop trên web chỗ Browser download file ó về và
xem bằng cách hadoop dfs -cat
/data/output/wcout1/part-*