270 likes | 663 Views
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 quyutehy@gmail.com. Đặ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?.
E N D
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 quyutehy@gmail.com
Đặ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
MapReduce framework • Map phase: • Chuyển dữ liệu ban đầu thành các cặp <Key, Value> bằng hàm Map • Reduce phase: • Tổng hợp/tính toán trên danh sách <Key, Value> 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) Master node IP: 192.168.1.10 STEP 2: Thêm đường dẫn đến Java trong file /etc/bash.bashrc trên cả 3 nodes export HADOOP_HOME=/home/quynm/hadoop export JAVA_HOME=/usr/lib/jvm export HIVE_HOME=/home/quynm/hive-0.8.1 export PATH=$PATH:$JAVA_HOME/bin export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HIVE_HOME/bin 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 Đặt giá trị một số thuộc tính trong file cấu hình ở cả 3 Nodes Slave1 (Data node) IP: 192.168.1.11 Slave2 (Data node) IP: 192.168.1.12
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: hadoopjar /home/quynm/hadoop/hadoop-examples-1.0.0.jar wordcount /user/root/wordcountdata /user/root/wordcount-out
So sánh tốc độ với chương trình chạy trên máy đơn Internet Flow export enabled LAN • 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. Flow export enabled Flow export enabled WAN Hadoop Name node Hadoop Data nodes
So sánh (Benchmark) Kết quả thử nghiệm