XỬ LÝ DỮ LIỆU
SONG SONG & PHÂN TÁN
VỚI HADOOP
Trình bày: Nguyễn Minh Quý
Bộ môn: CNPM – Khoa CNTT
[email protected]
Đặt vấn đề
Bạn từng xử lý dữ liệu có kích thước lớn nhất là bao
nhiêu MB/GB?
Bạn dùng hệ quản trị cơ sở dữ liệu nào để lưu trữ?
Access, SQL, MySQL hay Oracle?.
Giới hạn kích thước cơ sở dữ liệu trong SQL Server
(Bản SQL Server Express) là bao nhiêu GB?
Các công cụ và môi trường bạn biết/làm việc có thể xử
lý dữ liệu lên đến hàng ngàn, thậm chí hàng triệu, hàng
tỉ GB được không?
Copy 1 triệu GB qua mạng LAN Gigabit hết bao lâu?
Đặt vấn đề
Bạn từng xử lý dữ liệu có kích thước lớn nhất là
bao nhiêu MB/GB?
Bạn dùng hệ quản trị cơ sở dữ liệu nào để lưu
trữ?
Access, SQL, MySQL hay Oracle?.
Giới hạn kích thước cơ sở dữ liệu trong SQL
Server (Bản SQL Server Express) là bao nhiêu
GB?
Các công cụ và môi trường bạn biết/làm việc có
thể xử lý dữ liệu lên đến hàng ngàn, thậm chí
hàng triệu, hàng tỉ GB được không?
Copy 1 triệu GB qua mạng LAN Gigabit hết
bao lâu?
Giải
quyết??
Nội dung
HADOOP
Giới thiệu về Hadoop
Các thành phần trong Hadoop
Cấu hình và chạy Hadoop
Demo chương trình đếm từ trong văn bản
So sánh tốc độ với chương trình chạy trên máy đơn
Giới thiệu Hadoop
Hadoop là một hệ thống lưu trữ, xử lý dữ liệu
song song và phân tán.
Được Google phát triển từ năm 2002
Hiện có nhiều tổ chức và công ty lớn sử dụng:
Yahoo, Google, Facebook,…
Năm 2009, Hadoop đã giành chiến thắng khi
sắp xếp 1 terabyte (=1000GB) dữ liệu trong
vòng 209s, phá kỷ lục trước đó là 297s.
Giới thiệu Hadoop
Lưu trữ dữ liệu phân tán trên hệ thống
Hadoop Distributed File System (HDFS)
Mỗi Block có
kích thước
64, 128,… MB
Giới thiệu Hadoop
Xử lý song song và phân tán trên các nút
Chương trình java
sẽ được copy
xuống các node
và việc xử lý sẽ
diễn ra tại node
Kiến trúc của Hadoop
Kiến trúc của HDFS
MapReduce framework
- Map phase:
Chuyển dữ liệu ban
đầu thành các cặp
bằng
hàm Map
- Reduce phase:
Tổng hợp/tính toán
trên danh sách
từ
Map phase và tạo ra
kết quả cuối cùng.
Bằng hàm Reduce
CÀI ĐẶT VÀ CẤU HÌNH HADOOP
Cài đặt hadoop
Chỉ việc download Hadoop tại địa chỉ (v1.1):
http://mirrors.digipower.vn/apache/hadoop/common/
hadoop-1.1.0/hadoop-1.1.0.tar.gz
Giải nén và copy vào thư mục bất kỳ, ví dụ
/home/hadoop
Đặt thông số cho các file cấu hình trong thư mục
/conf của hadoop, gồm: core-site.xml,
mapred-site.xml, hdfs-site.xml, masters, slaves
CÀI ĐẶT VÀ CẤU HÌNH HADOOP
Cấu hình các file (Ví dụ có 3 nodes, 1 là nút
master: 192.168.1.10, 2 nút còn lại là slaves:
192.168.1.11 và 192.1.12).
Cấu hình cho mô hình Hadoop
có 1 master và 2 slaves (node)
Master node
IP: 192.168.1.10
Slave1 (Data node)
IP: 192.168.1.11
Slave2 (Data node)
IP: 192.168.1.12
Cấu hình cho mô hình Hadoop
có 1 master và 2 slaves (node)
Master node
IP: 192.168.1.10
Step 1:
Sửa file /etc/hosts
Trên cả 3 nodes
Slave1 (Data node)
IP: 192.168.1.11
Slave2 (Data node)
IP: 192.168.1.12
Cấu hình cho mô hình Hadoop
có 1 master và 2 slaves (node)
STEP 2:
Master node
IP: 192.168.1.10
Slave1 (Data node)
IP: 192.168.1.11
Thêm đường dẫn đến Java
trong file /etc/bash.bashrc
trên cả 3 nodes
Slave2 (Data node)
IP: 192.168.1.12
export
HADOOP_HOME=/home/quynm/hadoop
export JAVA_HOME=/usr/lib/jvm
export HIVE_HOME=/home/quynm/hive0.8.1
export PATH=$PATH:$JAVA_HOME/bin
export
PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HIVE_HOME/bin
Cấu hình cho mô hình Hadoop
có 1 master và 2 slaves (node)
Master node
IP: 192.168.1.10
Đặt giá trị một số thuộc tính
trong file cấu hình ở cả 3 Nodes
Core-site.xml
fs.default.namehdfs://master:54310
Hdfs-site.xml
Slave1 (Data node)
IP: 192.168.1.11
Mapred-site.xml
dfs.replication
Slave2 (Data node)
2
IP: 192.168.1.12
mapred.job.trackerhdfs://master:54311
Masters
Master
Slaves
Slave1
Slave2
Chạy chương trình Hadoop
Biên dịch chương trình viết trong Java sang file
rar.
Vd: Chạy chương trình wordcount (có sẵn trong
hadoop)
B1.Copy file lên server: hadoop dfs -copyFromLocal
/home/quynm/hadoop/wordcountdata/ /user/root/
B2.Chạy: hadoop jar /home/quynm/hadoop/hadoopexamples-1.0.0.jar wordcount
/user/root/wordcountdata /user/root/wordcount-out
Màn hình chạy Hadoop
Xem tiến trình xử lý trên web
So sánh tốc độ với chương
trình chạy trên máy đơn
Chạy bộ dữ liệu lớn (lên đến 240 triệu bản
ghi) chứa các Flows gói tin trong mạng.
Internet
Flow export enabled
LAN
Flow export enabled
Flow export enabled
Hadoop
Name
node
WAN
Hadoop Data nodes
So sánh (Benchmark)
Kết quả thử
nghiệm