1. Trang chủ
  2. » Công Nghệ Thông Tin

Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa

78 174 3

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 78
Dung lượng 26,9 MB

Nội dung

BỘ CÔNG THƯƠNG TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM TP.HCM KHOA CÔNG NGHỆ THÔNG TIN ĐỀ TÀI TÌM HIỂU CƠNG NGHỆ HADOOP VÀ XÂY DỰNG DEMO MINH HỌA GVHD: Ngô Dương Hà Sinh viên thực hiện: 2033181007 – Nguyễn Bảo Đại 2033181014 – Huỳnh Thúy Duy TP.HỒ CHÍ MINH, ngày tháng năm 2021 MỤC LỤC LỜI CẢM ƠN NHẬN XÉT CỦA GIÁO VIÊN CHƯƠNG I: TỔNG QUAN 1.1 Giới thiệu Apache Hadoop 1.2 Mục tiêu đề tài 1.3 Hướng giải 1.4 Khó khăn thách thức 1.5 Đề xuất hướng giải CHƯƠNG II: PHƯƠNG PHÁP 11 CHƯƠNG III: XÂY DỰNG BÀI TOÁN 13 3.1 Tài ngun hệ thống 13 3.2 Mơ hình triển khai hệ thống 14 3.3 Trình bày giải thuật sử dụng 15 3.4 Cài đặt hadoop 17 3.5 Demo toán word count 54 CHƯƠNG IV: KẾT LUẬN 77 4.1 Kết luận 77 4.2 Hướng phát triển 77 TÀI LIỆU THAM KHẢO 78 LỜI CẢM ƠN Để hoàn thành đề tài này, chúng em xin gửi lời cảm ơn chân thành đến: Khoa, Trường Đại học Công nghiệp thực phẩm Thành phố Hồ Chí Minh tạo điều kiện sở vật chất với hệ thống thư viện đại, đa dạng loại sách, tài liệu thuận lợi cho việc tìm kiếm, nghiên cứu thơng tin Xin cảm ơn giảng viên hướng dẫn - Thầy Ngô Dương Hà giảng dạy tận tình, chi tiết để chúng em có đủ kiến thức vận dụng kiến thức vào đề tài Do chưa có nhiều kinh nghiệm làm đề tài hạn chế kiến thức, tiểu luận chắn không tránh khỏi thiếu sót Rất mong nhận nhận xét, ý kiến đóng góp, phê bình từ phía Thầy để tiểu luận hoàn thiện phúc Lời cuối cùng, chúng em xin kính chúc Thầy nhiều sức khỏe, thành công hạnh Chúng em xin chân thành cảm ơn! NHẬN XÉT CỦA GIÁO VIÊN CHƯƠNG I: TỔNG QUAN 1.1 Giới thiệu Apache Hadoop Apache hadoop framework giúp lưu trữ xử lý BigData áp dụng MapReduce Mơ hình MapReduce mơ hình mà ứng dụng chia nhỏ thành nhiều phần khác phần chạy song song nhiều node khác nhau, thêm vào hadoop cung cấp hệ thống file phân tán (HDFS) thiết kế cho framework tự động quản lý lỗi, hư hỏng phần cứng node Hadoop viết Java Tuy nhiên, nhờ chế streaming, Hadoop cho phép phát triển ứng dụng phân tán java lẫn số ngơn ngữ lập trình khác C++, Python, Pearl Kiến trúc Hadoop: Apache Hadoop dùng để quản lý truy cập liệu, bao gồm thành phần là: MapReduce Hadoop Distributed File System (HDFS) Theo thời gian, tảng Hadoop mở rộng kết hợp với loạt dự án khác để thành tảng hoàn chỉnh Nền tảng chia thành loại sau: data access, data management, security, operations governance Hình 1.1 Kiến trúc Hadoop Hadoop MapReduce: Map-Reduce framework dùng để viết ứng dụng xử lý song song lượng lớn liệu có khả chịu lỗi cao xuyên suốt hàng ngàn cluster(cụm) máy tính Map-Reduce thực chức Map Reduce - Map: Sẽ thực đầu tiên, có chức tải, phân tích liệu đầu vào chuyển đổi thành tập liệu theo cặp key/value Reduce: Sẽ nhận kết đầu từ tác vụ Map, kết hợp liệu lại với thành tập liệu nhỏ Hình 1.2 Mơ hình MapReduce Các tính MapReduce: - Xử lý cục Xây dựng sẵn Ngôn ngữ độc lập MapReduce execution framework Truyền thông liên tiến trình Hadoop Distributed File System (HDFS): Đây hệ thống file phân tán cung cấp truy cập thông lượng cao cho ứng dụng khai thác liệu HDFS hệ thống quản lý liệu phân tán dựa tảng Java cung cấp giải pháp lưu trữ tin cậy, ổn định, truy cập nhanh chóng Với mục đích cách thức “wrice once, read many” sử dụng, cho phép liệu thường ghi lần HDFS, sau đọc nhiều lần Do việc sửa đổi liệu sau ghi thường hạn chế Để lưu trữ liệu phân tán, liệu chia thành block (64/128 MB) phân phối tới node xử lý Mỗi block đồn thời chép đến server khác cụm cluster để đảm bảo tính tồn vẹn liệu Hình 1.3 Mơ hình Hadoop Distributed File System Các tính HDFS: - Chịu lỗi tốt - Độ tin cậy cao - Ứng dụng cao - Khả mở rộng - Lưu trữ phân tán Bên cạnh thành phần cốt lõi Hadoop có số modules: - Hadoop YARN: Đây framework để quản lý tiến trình tài nguyên node YARN cung cấp daemons APIs cần thiết cho việc phát triển ứng dụng phân tán, đồng thời xử lý, lập lịch sử dụng tài ngun tính tốn (CPU hay Memory) giám sát trình thực thi ứng dụng - - YARN tổng quát MapReduce hệ (gồm mơ hình JobTracker / TaskTracker) Bên YARN, có hai trình quản lý ResourceManager NodeManager ResourceManager: Quản lý toàn tài ngun tính tốn cluster NodeManager: Giám sát việc sử dụng tài nguyên container báo cáo với ResourceManager Các tài nguyên CPU, memory, disk, network, Ta mở rộng YARN thơng qua tính YARN Federation Tính cho phép buộc nhiều cụm YARN thành cụm lớn Điều cho phép sử dụng cụm độc lập, ghép lại với cho job lớn Hình 1.4 Mơ hình Hadoop YARN - Hadoop Common: Đây thư viện tiện ích cần thiết Java để module khác sử dụng Những thư viện cung cấp hệ thống file lớp OS trừu tượng, đồng thời chứa mã lệnh Java để khởi động Hadoop Hiện Hadoop ngày mở rộng nhiều framework khác hỗ trợ Hive, Hbase, Pig Và tùy vào mục đích người sử dụng để áp dụng framework phù hợp nâng cao hiệu xử lý liệu Hadoop 1.2 Mục tiêu đề tài Dựng hệ thống HDFS ubuntu Cài đặt spark Sử dụng thuật toán KNN(K-nearest neighbors) dựa Hadoop 1.3 Hướng giải Xử lý làm việc khối lượng liệu khổng lồ tính Petabyte Xử lý mơi trường phân tán, liệu lưu trữ nhiều phần cứng khác nhau, yêu cầu xử lý đồng Xử lý lỗi xuất thường xuyên Băng thông phần cứng vật lý chứa liệu phân tán có giới hạn 1.4 Khó khăn thách thức Truyền liệu: Truyền tải liệu quan trọng ứng dụng Big data việc truyền tải liệu lớn thường khó khăn chi phí cao Nâng cao hiệu truyền tải liệu lớn yếu tố quan trọng để nâng cao khả xử lý Big data Tốc độ xử lý: Dữ liệu hệ thống thông tin luôn không ngừng tăng lên mặt kích thước (khối lượng) gây thách thức lớn ứng dụng thời gian thực, việc tìm phương pháp hiệu suốt luồng liệu cần thiết để đáp ứng yêu cầu thời gian thực Bảo mật liệu quyền riêng tư: Bảo mật liệu vấn đề quan trọng Một số ví dụ thực tế cho thấy, khơng thơng tin cá nhân, thông tin mật tổ chức mà bí mật an ninh quốc gia bị xâm phạm Do vậy, giải vấn đề an ninh liệu công cụ kỹ thuật sách trở nên vơ cấp bách Các tảng Big data nên cân tốt việc truy cập liệu xử lý liệu 1.5 Đề xuất hướng giải Giải cách sử dụng Hadoop Các điểm thuận lợi dùng Hadoop: - Có thể thêm node thay đổi chúng cần Không cần phần cứng đặc biệt để chạy Hadoop Hadoop xây dựng với tiêu chí xử lý liệu có cấu trúc không cấu trúc Khi node lỗi, tảng Hadoop tự động chuyển sang node khác 10 Bước 6: cài đặt python $ sudo apt-get install python Hình 3.5.6a Cài đặt python kiểm tra phiên $ python version Hình 3.5.6b Kiểm tra phiên python 64 Bước 7: tạo file input.txt file code wordCount.py $ vim /home/hadoopuser/spark-3.1.2/input.txt $ vim /home/hadoopuser/wordCount.py Hình 3.5.7a Tạo file input file code wordCount.py Hình 3.5.7b Chi tiết file code wordCount.py 65 Bước 8: chạy spark máy master $ cd spark-3.1.2 $ bin/spark-class org.apache.spark.deploy.master.Master Hình 3.5.8 Chạy spark máy master 66 Bước 9: truy cập web để kiểm tra truy cập địa hadoop-master:8088 Hình 3.5.9 Kiểm tra spark 67 Bước 10: chạy spark máy salve1 $ cd spark-3.1.2 $ bin/spark-class org.apache.spark.deploy.worker.Worker spark://192.168.206.14:7077 (truy cập địa hadoop-master:8088 máy master để có địa ip cổng) Hình 3.5.10 Chạy spark máy salve1 68 Bước 11: kiểm tra máy salve1 truy cập địa localhost:8081 Hình 3.5.11 Kiểm tra spark 69 Bước 12: kiểm tra máy master Hình 3.5.12 Kiểm tra kết nối máy master 70 Bước 13: Chạy spark máy salve2 $ cd spark-3.1.2 $ bin/spark-class org.apache.spark.deploy.worker.Worker spark://192.168.206.14:7077 Hình 3.5.13 Chạy spark máy salve2 71 Bước 14: kiểm tra máy salve2 truy cập địa localhost:8081 Hình 3.5.14 Kiểm tra spark 72 Bước 15: kiểm tra máy master Hình 3.5.15 Kiểm tra kết nối máy master 73 Bước 16: chạy code wordCount.py spark $ cd spark-3.1.2 $ bin/spark-submit master spark://192.168.206.14:7077 /home/hadoopuser/wordCount.py /home/hadoopuser/spark-3.1.2/input.txt Hình 3.5.16 Chạy code wordCount.py spark 74 Kiểm tra kết truy cập địa hadoop-master:8088 Hình 3.5.17a Xem kết 75 Hình 3.5.17b Xem kết 76 CHƯƠNG IV: KẾT LUẬN 4.1 Kết luận Đồ án giới thiệu khái qt mơ hình Apache Hadoop Giúp hiểu Hadoop gì, mơ hình Hadoop, ngun tắc hoạt động Đồng thời, đồ án giúp biết cài đặt Apache Hadoop, thành phần, cách thức làm việc, tìm hiểu số API mà Hadoop cung cấp, cần thiết cho việc lập trình ứng dụng, hay triển khai thuật toán ứng dụng 4.2 Hướng phát triển Big Data trở thành quan trọng tài sản to lớn doanh nghiệp, Hadoop cơng nghệ cốt lõi cho việc lưu trữ truy cập liệu lớn (slave) Các node Hadoop chia làm loại: Name node (master), data node Hadoop sinh để giải vấn đề: Lưu trữ quản lý tập liệu lớn Khả linh hoạt Hadoop cho phép cơng ty thêm sửa đổi hệ thống liệu lúc có nhu cầu phát sinh thay đổi Một số lý nên sử dụng Hadoop: - Hadoop hệ thống cung cấp lưu trữ xử lý liệu phần cứng sử dụng rộng rãi - tương đối hiệu chi phí Open source Hiệu việc lưu trữ phân tán tính toán phân tán 77 TÀI LIỆU THAM KHẢO [1] Wikipedia.25/06/2021 hthttps://vi.wikipedia.org/wiki/Apache_Hadoop [2] Hadoop.25/06/2021 Apache Hadoop Streaming [3]Cloud Geeks Vietnam.25/06/2021 https://cloudgeeks.net/tim-hieu-ve-kien-truc-hadoop-ecosystem/#Tham_khao [4]Spark.25/06/2021 https://spark.apache.org/docs/latest/submitting-applications.html [5]Cảnh sát nhân dân.25/06/2021 http://csnd.vn/Home/Giao-duc-Dao-tao/6740/Tim-hieu-ve-BigData-va-cong-ngheHadoop [6]Smart Factory.25/06/2021 https://smartfactoryvn.com/technology/data-analytics/gioi-thieu-mot-so-cong-cu-phantich-du-lieu-lon-big-data-analytics/ [7]CodeLearn.25/06/2021 https://codelearn.io/sharing/thuat-toan-k-nearest-neighbors-knn 78 ... /usr/local /hadoop/ etc /hadoop/ * hadoop- salve1:/usr/local /hadoop/ etc /hadoop/ Hình 3.4.23a Sao chép cấu hình máy master cho máy salve1 42 $ scp /usr/local /hadoop/ etc /hadoop/ * hadoop- salve2:/usr/local /hadoop/ etc /hadoop/ ... HADOOP_ COMMON_HOME= $HADOOP_ HOME $ export HADOOP_ CONF_DIR= $HADOOP_ HOME/etc /hadoop $ export HADOOP_ HDFS_HOME= $HADOOP_ HOME $ export HADOOP_ MAPRED_HOME= $HADOOP_ HOME $ export HADOOP_ YARN_HOME= $HADOOP_ HOME Hình 3.4.27 Cấu hình... 9: Tải hadoop $ sudo wget -P ~ https://mirrors.sonic.net/apache /hadoop/ common /hadoop3 .2.1 /hadoop- 3.2.1.tar.gz Hình 3.4.9 Tải hadoop Bước 10: Giải nén file hadoop- 3.2.1.tar.gz $ tar xzf hadoop- 3.2.1.tar.gz

Ngày đăng: 22/12/2021, 20:57

HÌNH ẢNH LIÊN QUAN

3.2. Mô hình triển khai hệ thống 14 - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
3.2. Mô hình triển khai hệ thống 14 (Trang 2)
Hình 1.2. Mô hình MapReduce - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 1.2. Mô hình MapReduce (Trang 6)
Hình 3.3. Phép toán tính khoảng cách hai điểm dữ liệu - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.3. Phép toán tính khoảng cách hai điểm dữ liệu (Trang 15)
Bước 3: Cấu hình file ~/.bashrc - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
c 3: Cấu hình file ~/.bashrc (Trang 19)
Hình 3.4.9 Tải hadoop - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.4.9 Tải hadoop (Trang 24)
Bước 11: Cấu hình file hadoop-env.sh - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
c 11: Cấu hình file hadoop-env.sh (Trang 25)
Hình 3.4.16b Thêm ip các máy - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.4.16b Thêm ip các máy (Trang 29)
Hình 3.4.17a Tạo máy salve1 - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.4.17a Tạo máy salve1 (Trang 30)
Hình 3.4.17b Tạo máy salve2 - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.4.17b Tạo máy salve2 (Trang 30)
Hình 3.4.18b Sửa hostname - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.4.18b Sửa hostname (Trang 32)
Hình 3.4.18c Sửa hostname - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.4.18c Sửa hostname (Trang 33)
Hình 3.4.18d Sửa hostname - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.4.18d Sửa hostname (Trang 34)
Hình 3.4.22b Thêm vào cuối file core-site.xml - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.4.22b Thêm vào cuối file core-site.xml (Trang 39)
Bước 23: Sao chép cấu hình máy master cho các máy salve - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
c 23: Sao chép cấu hình máy master cho các máy salve (Trang 42)
Hình 3.4.23b Sao chép cấu hình máy master cho máy salve2 - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.4.23b Sao chép cấu hình máy master cho máy salve2 (Trang 43)
Hình 3.4.26 Kiểm tra kết nối của máy master với 2 máy salve - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.4.26 Kiểm tra kết nối của máy master với 2 máy salve (Trang 45)
Hình 3.4.28e Mở file yarn-site.xml trên máy salve2 - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.4.28e Mở file yarn-site.xml trên máy salve2 (Trang 50)
Hình 3.5.1a Tải file spark trên máy master - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.1a Tải file spark trên máy master (Trang 54)
Hình 3.5.1b Tải spark trên máy salve1 - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.1b Tải spark trên máy salve1 (Trang 55)
Hình 3.5.2a Giải nén spark trên máy master - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.2a Giải nén spark trên máy master (Trang 56)
Hình 3.5.2b Giải nén spark trên máy salve1 - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.2b Giải nén spark trên máy salve1 (Trang 57)
Hình 3.5.7b Chi tiết file code wordCount.py - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.7b Chi tiết file code wordCount.py (Trang 65)
Hình 3.5.8 Chạy spark trên máy master - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.8 Chạy spark trên máy master (Trang 66)
Hình 3.5.10 Chạy spark trên máy salve1 - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.10 Chạy spark trên máy salve1 (Trang 68)
Hình 3.5.11 Kiểm tra spark - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.11 Kiểm tra spark (Trang 69)
Hình 3.5.12 Kiểm tra kết nối trên máy master - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.12 Kiểm tra kết nối trên máy master (Trang 70)
Hình 3.5.13 Chạy spark trên máy salve2 - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.13 Chạy spark trên máy salve2 (Trang 71)
Hình 3.5.14 Kiểm tra spark - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.14 Kiểm tra spark (Trang 72)
Hình 3.5.16 Chạy code wordCount.py trên spark - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.16 Chạy code wordCount.py trên spark (Trang 74)
Hình 3.5.17a Xem kết quả - Đồ án tìm hiểu công nghệ hadoop và xây dựng demo minh họa
Hình 3.5.17a Xem kết quả (Trang 75)

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w