So sánh mapreduce và xử lý phân tán năm 2024

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? 1 triệu GB = 8 triệu Gb. Copy hết khoảng 3 tháng (sử dụng đường truyền tốc độ cao Gigabit/s

3 Đặ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?? 1 triệu GB = 8 triệu Gb. Copy hết khoảng 3 tháng (sử dụng đường truyền tốc độ cao Gigabit/s

4 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

5 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. Hadoop has been demonstrated on clusters of up to 4000 nodes. Sort performance on 900 nodes is good (sorting 9TB of data on 900 nodes takes around 1.8 hours) and improving using these non-default configuration values: Sort performances on 1400 nodes and 2000 nodes are pretty good too - sorting 14TB of data on a 1400-node cluster takes 2.2 hours; sorting 20TB on a 2000-node cluster takes 2.5 hours. The updates to the above configuration being:

6 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

7 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

8 Kiến trúc của Hadoop

9 Kiến trúc của HDFS

10 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

11 CÀI ĐẶT VÀ CẤU HÌNH HADOOP Cài đặt hadoop Chỉ việc download Hadoop tại địa chỉ (v1.1): 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

12 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: , 2 nút còn lại là slaves: và ).

13 Cấu hình cho mô hình Hadoop có 1 master và 2 slaves (node) Master node IP: Slave1 (Data node) IP: Slave2 (Data node) IP:

14 Cấu hình cho mô hình Hadoop có 1 master và 2 slaves (node) Master node IP: Step 1: Sửa file /etc/hosts Trên cả 3 nodes Slave1 (Data node) IP: Slave2 (Data node) IP:

15 Cấu hình cho mô hình Hadoop có 1 master và 2 slaves (node) STEP 2: Master node IP: Slave1 (Data node) IP: Slave2 (Data node) IP: 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

16 Cấu hình cho mô hình Hadoop có 1 master và 2 slaves (node) Master node IP: Đặt giá trị một số thuộc tính trong file cấu hình ở cả 3 Nodes Core-site.xml fs.default.name hdfs://master:54310 Hdfs-site.xml dfs.replication 2 Mapred-site.xml mapred.job.tracker hdfs://master:54311 Masters Master Slaves Slave1 Slave2 Slave1 (Data node) IP: Slave2 (Data node) IP:

17 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/hadoop-examples jar wordcount /user/root/wordcountdata /user/root/wordcount-out