Áp dụng các kỹ thuật trong big data vào lưu trữ dữ liệu

96 468 1
Áp dụng các kỹ thuật trong big data vào lưu trữ dữ liệu

Đ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

BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - ĐỒ ÁN TỐT NGHIỆP NGÀNH CÔNG NGHỆ THÔNG TIN HẢI PHÒNG 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - ÁP DỤNG CÁC KỸ THUẬT TRONG BIG DATA VÀO LƢU TRỮ DỮ LIỆU ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng Nghệ Thơng Tin HẢI PHÒNG - 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - ÁP DỤNG CÁC KỸ THUẬT TRONG BIG DATA VÀO LƢU TRỮ DỮ LIỆU ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Cơng Nghệ Thơng Tin Sinh viên thực hiện: Nguyễn Chí Thanh Giáo viên hƣớng dẫn: Nguyễn Trịnh Đông Mã số sinh viên: 1212101002 HẢI PHÒNG - 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM Độc lập – Tự – Hạnh phúc -o0o - NHIỆM VỤ THIẾT KẾ TỐT NGHIỆP Sinh viên: Nguyễn Chí Thanh Mã sinh viên: 1212101002 Lớp: CT1601 Ngành: Công Nghệ Thông Tin Tên đề tài: Áp dụng kỹ thuật Big data vào lƣu trữ liệu NHIỆM VỤ ĐỀ TÀI Nội dung yêu cầu cần giải nhiệm vụ đề tài tốt nghiệp a Nội dung: - Tìm hiều thành phần cơng nghệ quản lý Big data - Tìm hiểu mơ hình xử lý liệu phân tán MapReduce - Tìm hiểu hệ thống Hadoop - Đề phƣơng pháp xây dựng hệ thống - Thử nghiệm với công cụ để giải toán b Các yêu cầu cần giải - Nắm đƣợc thành phần công nghệ Big data - Nắm đƣợc ngun lý hoạt động mơ hình Map Reduece - Nắm đƣợc quy trình hoạt động hệ thống Hadoop - Áp dụng kiến thức xây dựng phần mềm thử nghiệm Các số liệu cần thiết để thiết kế, tính tốn Địa điểm thực tập CÁN BỘ HƢỚNG DẪN ĐỀ TÀI ĐỀ TÀI TỐT NGHIỆP Ngƣời hƣớng dẫn thứ nhất: Họ tên: Nguyễn Trịnh Đông Học hàm, học vị: Thạc sĩ Cơ quan công tác: Trƣờng Đại học Dân lập Hải Phịng Nội dung hƣớng dẫn: - Tìm hiều thành phần cơng nghệ quản lý Big data Tìm hiểu mơ hình xử lý liệu phân tán MapReduce Tìm hiểu hệ thống Hadoop Đề phƣơng pháp xây dựng hệ thống Thử nghiệm với công cụ để giải toán Đề tài tốt nghiệp đƣợc giao ngày 03 tháng 10 năm 2016 Yêu cầu phải hoàn thành trƣớc ngày 30 tháng 12 năm 2016 Đã nhận nhiệm vụ: Đ.T.T.N Sinh viên Hải Phòng, ngày Đã nhận nhiệm vụ: Đ.T.T.N Cán hƣớng dẫn Đ.T.T.N tháng năm 2016 HIỆU TRƢỞNG GS.TS.NGƯT Trần Hữu Nghị PHẦN NHẬN XÉT TÓM TẮT CỦA CÁN BỘ HƢỚNG DẪN Tinh thần thái độ sinh viên trình làm đề tài tốt nghiệp: Đánh giá chất lƣợng đề tài tốt nghiệp (so với nội dung yêu cầu đề nhiệm vụ đề tài tốt nghiệp) Cho điểm cán hƣớng dẫn (Điểm ghi số chữ) Ngày tháng năm 2016 Cán hƣớng dẫn (Ký, ghi rõ họ tên) PHẦN NHẬN XÉT ĐÁNH GIÁ CỦA CÁN BỘ CHẤM PHẢN BIỆN ĐỀ TÀI TỐT NGHIỆP Đánh giá chất lƣợng đề tài tốt nghiệp (về mặt nhƣ sở lý luận, thuyết minh chƣơng trình, giá trị thực tế,…) Cho điểm cán phản biện (Điểm ghi số chữ) Ngày tháng năm 2016 Cán chấm phản biện (Ký, ghi rõ họ tên) LỜI CẢM ƠN Qua thời gian học tập nghiên cứu trƣờng Đại học Dân lập Hải Phòng, em xin chân thành cảm ơn sâu sắc tới thầy giáo GS.TS NGƢT Trần Hữu Nghị hiệu trƣởng nhà trƣờng ngƣời tạo điều kiện sở vật chất trang thiết bị giúp chúng em học tập nghiên cứu thời gian qua Em xin chân thành cảm ơn tới tất thầy giáo, cô giáo nhà trƣờng.Em xin chân thành cảm ơn thầy giáo cô giáo Bộ môn Tin học trực tiếp giảng dạy cho em kiến thức bổ ích Đặc biệt em xin chân thành cảm ơn thầy giáo Nguyễn Trịnh Đông thời gian làm tốt nghiệp vừa qua, thầy giành nhiều thời gian tâm huyết để hƣớng dẫn em thực đề tài Dƣới kết trình tìm hiểu nghiên cứu mà em đạt đƣợc thời gian vừa qua Mặc dù cố gắng đƣợc thầy cô giúp đỡ nhƣng hiểu biết kinh nghiệm cịn hạn chế nên chƣa phải kết mà thầy cô mong đợi từ em Em mong nhận đƣợc lời nhận xét đóng góp q báu thầy để luận văn em đƣợc hoàn thiện nhƣ cho em thêm nhiều kinh nghiệm cho công việc sau Em xin chân thành cảm ơn! Hải Phòng, tháng 12 năm 2016 Sinh viên thực Nguyễn Chí Thanh MỤC LỤC MỤC LỤC DANH MỤC HÌNH DANH MỤC BẢNG DANH MỤC TỪ VIÊT TẮT LỜI MỞ ĐẦU CHƢƠNG 1: CÔNG NGHỆ QUẢN LÝ DỮ LIỆU LỚN 1.1 Công nghệ tảng áp dụng cho Big data 1.1.1 Tìm hiểu thành phần công nghệ Big data 1.1.2 Ảo hóa hỗ trợ tính tốn phân tán 16 1.1.3 Kiểm tra đám mây Big data 24 1.2 Quản lý liệu lớn 36 1.2.1 Cơ sở liệu hoạt động 36 1.2.2 Thiết bị kho liệu lớn 49 CHƢƠNG 2: XÂY DỰNG KHO DỮ LIỆU VĂN BẢN 51 2.1 Khám phá liệu phi cấu trúc 51 2.2 Tìm hiểu phân tích văn 52 2.3 Phân tích kỹ thuật khai thác 54 2.3.1 Tìm hiểu thu thập thơng tin 56 2.3.2 Nguyên tắc phân loại 57 2.4 Đƣa kết với liệu có cấu trúc 57 2.5 Đƣa liệu lớn sử dụng 58 2.6 Cơng cụ phân tích văn cho Big data 60 2.6.1 Attensity 60 2.6.2 Clarabridge 60 2.6.3 IBM 61 2.6.4 OpenText 61 2.6.5 SAS 62 - FloatWritable: tƣơng ứng với kiểu Float Java - DoubleWritable: tƣơng ứng với kiểu Double Java b Lớp Mapper Đây lớp hỗ trợ thực trình Map hệ thống Lập trình viên viết lớp mới, thừa kế lại lớp Mapper Có thể định nghĩa lại phƣơng thức lớp Mapper cho phù hợp, có hai phƣơng thức qua trọng cần phải quan tâm là: - Phƣơng thức run(): Lập trình viên định nghĩa lại phƣơng thức để kiểm soát việc đọc phân phát liệu từ input split - Phƣơng thức map(): Đây phƣơng thức quan trọng nhất, hầu hết trƣờng hợp Lập trình viên phải định nghĩa lại phƣơng thức này, phƣơng thức đƣợc thiết kế để lần nhận vào xử lý cặp c Lớp Partitioner Sử dụng lớp Partitioner giúp tùy biến, phân nhóm cặp đầu trình Mapper map task Nếu không sử dụng lớp chƣơng trình MapReduce, liệu đầu trình Mapper đƣợc gom lại thành nhóm d Lớp hỗ trợ Combiner Combiner đƣợc khơng đƣợc sử dụng chƣơng trình MapReduce, mục đích tác vụ giảm lƣợng liệu gởi từ map task tới reduce task Bản chất tác vụ Combiner thực tác vụ Reducer map task trƣớc gửi thực Reducer lần reduce task Mỗi map task thực nhiều tác vụ Combiner, Combiner phụ trách xử lý nhóm liệu đầu Mapper Việc xây dựng lớp Combiner tƣơng tự nhƣ xây dựng lớp Reducer e Lớp Reduce Lớp Reducer hỗ trợ thực trình Reduce Tƣơng tự nhƣ lớp Mapper, Lập trình viên thiết kế lớp thừa kế lại lớp Reducer, định nghĩa lại phƣơng thức có sẵn cần thiết, hai phƣơng thức thƣờng đƣợc định nghĩa lại là: - Phƣơng thức run(): Lập trình viên định nghĩa lại phƣơng thức để kiểm soát việc đọc phân phát liệu từ trình Map gửi tới 74 - Phƣơng thức reduce(): Nhƣ phƣơng thức map() lớp Mapper, Lập trình viên thƣờng phải định nghĩa lại phƣơng thức này, phƣơng thức đƣợc thiết kế để lần nhận vào xử lý loạt cặp có chung thuộc tính key f Lớp WritableComparator Dữ liệu đƣợc tạo từ tác vụ Map sau đƣợc phân nhóm, Combine lƣu trữ vào nhớ cục máy chạy map task, đƣợc reduce task chép nhớ cục mình, reduce task chép liệu thuộc nhóm đƣợc phân cơng xử lý Tại đây, liệu trƣớc đƣợc xử lý phƣơng thức reduce() đƣợc gom nhóm lại lần theo thuộc tính key tổ chức xếp nhóm có yêu cầu Lớp WritableComparator cho phép định nghĩa lại hàm compare() tạo tiêu chí xếp cho cặp Nếu không khai báo sử dụng lớp mặc định cặp sau đƣợc gom nhóm khơng đƣợc xếp theo tiêu chí 3.1.3.2 Quy trình hoạt động Khi Hadoop cluster đƣợc nạp chƣơng trình - job, JobTracker thực việc khởi tạo job hệ thống Nó đọc số lƣợng input file mà chƣơng trình cần thực thi, thực việc chia thành input split Tùy theo số lƣợng input split, JobTracker yêu cầu TaskTracker khởi tạo đủ số lƣợng map task cần thiết cho việc xử lý Thực thi Map Task Mỗi map task đọc vào input split phân thành record hàm run(), record cặp Sau đó, phƣơng thức map() đƣợc gọi để thực việc tính tốn xử lý cặp Kết sau đƣợc xử lý không đƣợc chuyển đến reduce task mà đƣợc lƣu trữ nhớ cục map task Khi kích thƣớc liệu đạt đến ngƣỡng quy định, map task thực trình Shuffle để phân nhóm liệu Nếu chƣơng trình có thiết lập sử dụng lớp Combine, map task thực việc Combiner cho nhóm liệu Kết sau thực đƣợc ghi vào tập tin tràn đăng ký với TaskTracker Khi kích thƣớc tập tin đủ lớn thực việc chuyển liệu sang reduce task 75 Thực thi Reduce Task Đầu tiên reduce task chép liệu từ map task nhớ cục Mỗi reduce task thực việc chép liệu thuộc nhóm định Tiếp theo, liệu đƣợc gom nhóm theo key, nhóm có dạng , đƣợc yêu cầu xếp, liệu nhóm đƣợc xếp trƣớc gửi qua phƣơng thức reduce() để xử lý ghi liệu HDFS Hình 3-11: Quá trình hoạt động tác vụ MapReduce Hadoop 3.2 Thực nghiệm 3.2.1 Hƣớng dẫn cài đặt Hadoop cluster Những phiên phần mềm, hệ điều hành dùng cài đặt: - Hệ điều hành Ubuntu-16.04-1-desktop-amd64 Java SSH cài sẵn hệ điều hành Hadoop phiên 2.2.0 Những cài đặt thiết lập chung hệ thống (đƣợc thực Terminal) 76 3.2.1.1 Cài đặt Java Hadoop yêu cầu máy tính cluster phải đƣợc cài Java với phiên thấp 1.5, phiên khuyên dùng 1.6 Do đó, để hệ thống hoạt động cách tốt nhất, phiên Java 1.6 đƣợc hƣớng dẫn cài đặt Ngoài ra, hƣớng dẫn sau, việc cài đặt Java đƣợc thực thông qua nhà phân phối, thấy khơng an tồn, bạn tải cài đặt Java theo hƣớng dẫn trang chủ Oracle - Kiểm tra java đƣợc cài đặt ubuntu câu lệnh: $ java version - Nếu máy chƣa đƣợc cài đặt java, ta cài đặt câu lệnh: $ sudo - apt-get install openjdk-9-jdk Cài đặt ssh: $ sudo apt-get install openssh-server 3.2.1.2 Tạo người dùng riêng cho Hadoop - Tạo nhóm ngƣời dùng hadoop: $ sudo addgroup hadoop - Thêm ngƣời dùng hduser thuộc nhóm ngƣời dùng hadoop: $ sudo adduser ingroup hadoop hduser - Đăng nhập vào tài khoản ngƣời dùng hduser: $ su hduser 3.2.1.3 Cấu hình ssh Tạo khóa chứng thực SSH cho hduser: $ ssh-keygen -t rsa -P "" $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_key Kiểm tra lệnh: $ ssh localhost 3.2.1.4 Cài đặt cấu hình Hadoop - Giải nén gói Hadoop: $ sudo tar vxzf hadoop-2.2.0.tar.gz - Di chuyển thƣ mục cài đặt hadoop thƣ mục /usr/local: $ sudo mv hadoop-2.2.0 /usr/local/hadoop - Chuyển quyền sử dụng cho ngƣời dùng hduser: $ sudo chown -R hduser:hadoop hadoop - Chèn nội dung sau vào cuối tập tin /home/hduser/.bashrc để thêm thiết lập đƣờng dẫn cho ngƣời dùng hduser: 77 # Java Path export JAVA_HOME = /usr/lib/jvm/java-9-openjdk # Hadoop Variables export HADOOP_HOME = /usr/local/hadoop export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_CONF_DIR =$HADOOP_HOME/etc/hadoop - Chèn nội dung sau vào cuối tập tin hadoop/conf/hadoop-env.sh để thêm thiết lập đƣờng dẫn Java cho Hadoop export JAVA_HOME = /usr/lib/jvm/java-9-openjdk - Thêm vào thẻ tập tin hadoop/etc/hadoop/core-site.xml fs.default.name hdfs://localhost:9000 - Thêm vào thẻ tập tin hadoop/etc/hadoop/hdfs-site.xml dfs.replication 1 dfs.namenode.name.dir file:/usr/local/hadoop_tmp/hdfs/namenode dfs.namenode.data.dir file:/usr/local/hadoop_tmp/hdfs/datanode - Thêm vào thẻ tập tin hadoop/etc/hadoop/yarn-site.xml 78 yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.auxservices.mapreduce.shuffle.class org.apache.hadoop.mapred.shuffleHandler - Thêm vào thẻ tập tin hadoop/etc/hadoop/mapred-site.xml mapreduce.framework.name yarn - Tạo thƣ mục chứa namenode datanode $ sudo mkdir -p /usr/local/hadoop_tmp $ sudo mkdir -p /usr/local/hadoop_tmp/hdfs/namenode $ sudo mkdir -p /usr/local/hadoop_tmp/hdfs/datanode - Chuyển quyền cho ngƣời dung hduser $ sudo chown –R hduser /usr/local/hadoop_tmp - Định dạng namenode $ hadoop namenode –format 79 3.2.2 Khởi động hệ thống Đăng nhập vào tài khoản ngƣời dùng hduser: $ su hduser Hình 3-12: Đăng nhập vào tài khoản ngƣời dùng hduser Start Hadoop: $ start-all.sh Hình 3-13: Khởi động Hadoop 80 Kiểm tra Hadoop đƣợc chạy thành cơng: $ jps Hình 3-14: Kiểm tra Hadoop Các trang quản lý Hadoop: - All Aplications: localhost:8088 Hadoop Namenode: localhost:50070 Secondary Namenode: localhost:50090 Content of directory: localhost:50075 81 Hình 3-15: Trang quản lý Hadoop All Aplications Hình 3-16: Trang quản lý Hadoop Namenode 82 Hình 3-17: Trang quản lý Hadoop SecondaryNamenode Hình 3-18: Trang quản lý Hadoop Directory 83 Stop Hadoop:$ stop-all.sh Hình 3-19: Tắt Hadoop Tạo thƣ mục tên vidu: $ mkdir vidu Hình 3-20: Tạo thƣ mục vidu 84 Thêm file văn có tên vanban.txt vào thƣ mục vidu nhập nội dung văn bản: $ cat > vidu/vanban.txt Hình 3-21: Thêm file văn vào thƣ mục vidu Hình 3-22: Thƣ mục vidu file vanban.txt đƣợc tạo 85 Copy thƣ mục vidu vào hdfs: $ bin/hadoop dfs –copyFromLocal vidu /input Hình 3-23: Copy thƣ mục vidu vào hdfs 86 KẾT LUẬN Trong trình nghiên cứu, tìm hiểu hoàn thành đề tài đồ án tốt nghiệp “Áp dụng kỹ thuật Big data vào lƣu trữ liệu”, em có hội để thu nhận đƣợc thêm nhiều kiến thức Big data Big data đề tài rộng lớn có tác động mạnh mẽ đến lĩnh vực đời sống xã hội Trong thời gian tới chắn Big data ngày thể đƣợc sức mạnh tầm ảnh hƣởng Trong đề tài đồ án tốt nghiệp em trình bày cơng nghệ tảng quản lý liệu lớn, mơ hình phân tán liệu Mapreduce mơ hình Hadoop Do thời gian thực đề tài đồ án hạn chế nên nhiều kiến thức khác liên quan đến Big data mà em chƣa tìm hiểu khai thác Trong thời gian tới em cố gắng tiếp tục nghiên cứu tìm hiểu sâu lĩnh vực Sinh viên Nguyễn Chí Thanh 87 TÀI LIỆU THAM KHẢO Tài liệu tiếng Việt [1] Nguyễn Minh Thuận, Nguyễn Trọng Thức - Nghiên cứu tảng tính tốn song song với MapReduce Hadoop Áp dụng cho việc xây dựng wordnet tiếng Việt tạo mục tài liệu, Cần Thơ, 2012 [2] Bùi Thị Hồng Phúc - Xây dựng ứng dụng minh họa cho khả MongdoDB , Cần Thơ, 2012 Tài liệu Tiếng Anh [3] Tom White - Hadoop The Definitive Guide 3rd Edition [4] Judith S Hurwitz, Alan F Nugent, Dr.Fern Halper, Marcia A Kaufman Big data for dummies [5] Marcello Trovati, Richard Hill, Ashiq Anjum, Shao Ying Zhu, Lu Liu - Big data Analytics and Cloud Computing Tài liệu trực tuyến [6] Website Hadoop: https://hadoop.apache.org/ [7] https://dinhnn.com/category/big-data/ 88 ...BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - ÁP DỤNG CÁC KỸ THUẬT TRONG BIG DATA VÀO LƢU TRỮ DỮ LIỆU ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Thông Tin... 2016 BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC DÂN LẬP HẢI PHÒNG -o0o - ÁP DỤNG CÁC KỸ THUẬT TRONG BIG DATA VÀO LƢU TRỮ DỮ LIỆU ĐỒ ÁN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công Nghệ Thông Tin... lý Big data, mô hình xử lý liệu phân tán Mapreduce hệ thống Hadoop CHƢƠNG 1: CÔNG NGHỆ QUẢN LÝ DỮ LIỆU LỚN 1.1 Công nghệ tảng áp dụng cho Big data 1.1.1 Tìm hiểu thành phần công nghệ Big data Big

Ngày đăng: 16/06/2017, 00:19

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan