Xây dựng HDFS (Hadoop Distributed File System) trong hệ quản lý file phân tán cung cấp truy cập thông lượng cao.

23 63 0
Xây dựng HDFS (Hadoop Distributed File System) trong hệ quản lý file phân tán cung cấp truy cập thông lượng cao.

Đ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

TRƯỜNG ĐẠI HỌC CÔNG NGHIỆP THỰC PHẨM THÀNH PHỐ HỒ CHÍ MINH ĐỒ ÁN KẾT THÚC MƠN HỌC XỬ LÝ TÍNH TỐN SONG SONG Đề tài : Xây dựng HDFS (Hadoop Distributed File System) hệ quản lý file phân tán cung cấp truy cập thông lượng cao Giáo viên hướng dẫn: Sinh viên thực hiện: Mục Lục I Hadoop gì? Hadoop Apache framework mã nguồn mở cho phép phát triển ứng dụng phân tán (distributed processing) để lưu trữ quản lý tập liệu lớn Hadoop thực mơ hình MapReduce, mơ hình mà ứng dụng chia nhỏ thành nhiều phân đoạn khác chạy song song nhiều node khác Hadoop viết Java nhiên hỗ trợ C++, Python, Perl chế streaming Mục đích : Mong muốn danh nghiệp tận dụng việc lượng liệu khổng lồ để đưa định kinh danh, Hadoop giúp công ty xử lý khối lượng cỡ terabyte chí petabytes liệu phức tạp tương đối hiệu với chi phí thấp Các doanh nghiệp nỗ lực tìm kiếm thơng tin q giá từ khối lượng lớn dữliệu phi cấu trúc tạo web log, công cụ clickstream, sản phẩm truyền thông xã hội Chính yếu tố dẫn làm tăng quan tâm đến công nghệ mã nguồn mởHadoop Hadoop, dự án phần mềm quản lý liệu Apache với nhân khung phần mềm MapReduce Google, thiết kế để hỗ trợ ứng dụng sử dụng số lượng lớn liệu cấu trúc phi cấu trúc Không giống hệ quản trị sở liệu truyền thống, Hadoop thiết kế để làm việc với nhiều loại liệu liệu nguồn Công nghệ HDFS Hadoop cho phép khối lượng lớn công việc chia thành khối liệu nhỏ nhân rộng phân phối phần cứng cluster để xử lý nhanh Công nghệnày sử dụng rộng rãi số trang web lớn giới, chẳng hạn Facebook, eBay, Amazon, Baidu, Yahoo Các nhà quan sát nhấn mạnh Yahoo nhà đóng góp lớn Hadoop II Kiến trúc Hadoop Một cụm Hadoop nhỏ gồm master node nhiều worker/slave node Toàn cụm chứa lớp, lớp MapReduce Layer lớp HDFS Layer Mỗi lớp có thành phần liên quan riêng Master node gồm JobTracker, TaskTracker, NameNode, DataNode Slave/worker node gồm DataNode, TaskTracker Cũng slave/worker node liệu node để tính tốn Hadoop framework gồm module: Distriduted 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 Hadoop Distributed File System (HDFS) hệ thống tập tin ảo Khi di chuyển tập tin HDFS, tự động chia thành nhiều mảnh nhỏ Các đoạn nhỏ tập tin nhân rộng lưu trữ nhiều máy chủ khác để tăng sức chịu lỗi tính sẵn sàng cao HDFS sử dụng kiến trúc master/slave, master gồm NameNode để quản lý hệ thống file metadata hay nhiều slave DataNodes để lưu trữ liệu thực Một tập tin với định dạng HDFS chia thành nhiều khối khối lưu trữ tập DataNodes NameNode định nghĩa ánh xạ từ khối đến DataNode Các DataNode điều hành tác vụ đọc ghi liệu lên hệ thống file Chúng quản lý việc tạo, huỷ, nhân rộng khối thông qua thị từ NameNode Hadoop MapReduce: Đây hệ thống dựa YARN dùng để xử lý song song tập liệu lớn Là cách chia vấn đề liệu lớn thành đoạn nhỏ phân tán nhiều máy chủ Mỗi máy chủ có tập tài nguyên riêng máy chủ xử lý liệu cục Khi máy chủ xử lý xong liệu, chúng gởi trở máy chủ MapReduce gồm single master (máy chủ) JobTracker slave (máy trạm) TaskTracker cluster-node Master có nhiệm vụ quản lý tài nguyên, theo dõi trình tiêu thụ tài nguyên lập lịch quản lý tác vụ máy trạm, theo dõi chúng thực thi lại tác vụ bị lỗi Những máy slave TaskTracker thực thi tác vụ master định cung cấp thông tin trạng thái tác vụ (task-status) để master theo dõi JobTracker điểm yếu Hadoop Mapreduce Nếu JobTracker bị lỗi cơng việc liên quan bị ngắt quãng 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 Hadoop YARN: Quản lý tài nguyên hệ thống lưu trữ liệu chạy phân tích III MapReduce Map-reduce [13] mơ hình dùng để xử lý liệu Trong trình xử lý liệu, MapReduce chia giai đoạn: giai đoạn Map giai đoạn Reduce Cả hai giai đoạn có đầu vào đầu dạng key, value Người lập trình cần viết hàm chức để xử lý liệu hàm chức Map hàm chức Reduce Mơ hình Map-Reduce Về mặt định nghĩa thuật tốn, ta mơ tả Map-Reduce sau: Input: liệu dạng Key → Value Lập trình viên viết thủ tục: Map(k, v) → * Reduce(k', *) →* Map biến key k thu thành cặp Reduce nhận đầu vào khoá k' danh sách cách giá trị v' trả kết cặp Cơ chế Map-Reduce Ví dụ với hình mơ tả Map trả danh sách: , Reduce nhận kết trả IV Hệ thống tệp phân tán Hadoop Các vấn đề Hadoop giải • Hadoop có khả làm việc với khối lượng liệu vơ lớn • Hầu hết nguồn liệu có khả xử lý môi trường dạng phân tán, đồng lưu trữ nhiều phần cứng khác • Hadoop sở hữu khả băng thơng lưu trữ phần cứng vật lý kho liệu có giới hạn cho phép Chính vậy, cần quản lý nâng cấp cho kịp thời Hướng giải Hadoop V • Thực nhiệm vụ quản lý file phân tán: HDFS (Hadoop Distributed File System) giao nhiệm vụ chia nhỏ kho liệu thành nhiều phần khác liệu quản lý cho có hệ thống • Mơ hình MapReduce: Đây mơ hình quen thuộc Hadoop Nó phân cơng thực chia nhỏ task thành nhiều phần khác để dễ dàng xử lý Những task xử lý song song dựa Node CPU khác đồng với máy chủ quản lý Master Node Hadoop hoạt động nào? Giai đoạn Một user hay ứng dụng submit job lên Hadoop (hadoop job client) với yêu cầu xử lý thông tin bản: Nơi lưu (location) liệu input, output hệ thống liệu phân tán Các java class định dạng jar chứa dòng lệnh thực thi hàm map reduce Các thiết lập cụ thể liên quan đến job thông qua thông số truyền vào Giai đoạn Hadoop job client submit job (file jar, file thực thi) thiết lập cho JobTracker Sau đó, master phân phối tác vụ đến máy slave để theo dõi quản lý tiến trình máy này, đồng thời cung cấp thơng tin tình trạng chẩn đốn liên quan đến job-client Giai đoạn TaskTrackers node khác thực thi tác vụ MapReduce trả kết output lưu hệ thống file Khi “chạy Hadoop” có nghĩa chạy tập trình – Daemon, chương trình thường trú, máy chủ khác mạng bạn Những trình có vai trị cụ thể, số tồn máy chủ, số tồn nhiều máy chủ VI Ưu điểm Hadoop? Các điểm thuận lợi dùng Hadoop: • Hadoop có khả thêm nhiều node thay đổi cấu hình chúng cách dễ dàng • Các doanh nghiệp khơng cần phải đầu tư nhiều vào phần cứng mạnh đặc biệt chạy Hadoop Nhờ vậy, bạn tiết kiệm tối đa chi phí đầu tư ban đầu • Hadoop có khả xử lý hầu hết kho liệu có cấu trúc khơng có cấu trúc cách dễ dàng • Trong suốt trình hoạt động node hệ thống bị lỗi tảng Hadoop tự động di chuyển sang dạng node dự phịng khác Nhờ mà hệ thống hoạt động xun suốt ổn định • Hadoop mã nguồn mở, điều giúp tương thích nhiều cấu hình platform khác VII Demo cài đặt Hadoop Vào https://hadoop.apache.org/ để tải hadoop Vào https://www.oracle.com/java/technologies/javase/javase8-archive-downloads.html để tải Java SE Development Kit 8u201 Vào https://github.com/s911415/apache-hadoop-3.1.0-winutils để tải file cập nhật Hadoop Configurations Cài đặt môi trường Java 10 Giải nén file Hadoop 11 Cài đặt môi trường cho Hadoop 12 Kiểm tra q trình cấu hình mơi trường Java Hadoop 13 Cấu hình tập tin cho Hadoop Trong thư mục C:/Hadoop-3.3.0/etc/hadoop chỉnh sửa file: 14 Tạo thư mục “data” “C:/Hadoop-3.3.0” Tạo thư mục “datanode” “C:/Hadoop-3.3.0/data” Tạo thư mục “namenode” “C:/Hadoop-3.3.0/data” Chép đè thư mục bin thư mục bin C:\hadoop-3.3.0\bin Sao chép file: “C:/hadoop-3.3.0/share/hadoop/yarn/timelineservice/ hadoopyarn-server-timelineservice-3.3.0.jar” vào “C:/hadoop3.3.0/share/hadoop/yarn/hadoop-yarn-server-timelineservice-3.3.0.jar” 15 Nếu chạy Muti Node vào C:\Windows\System32\drivers\etc thêm IP tên Node master Slave 16 VIII HDFS gì? Hadoop Distributed File System (HDFS) [12] hệ thống file phân tán thiết kế để chạy phần cứng thông thường HDFS tương tự hệ thống file phân tán có Tuy nhiên, khác biệt HDFS có khả chịu lỗi cao (fault-tolerant) thiết kế để deploy phần cứng rẻ tiền HDFS cung cấp khả truy cập high throughput từ ứng dụng thích hợp với ứng dụng có tập liệu lớn IX Các tính HDFS Kiến trúc HDFS master / slave Một HDFS cluster gồm NameNode NameNode master server quản lý hệ thống tập tin điều chỉnh truy cập đến tập tin khác Bổ sung cho NameNode có nhiều DataNodes Ln có DataNode cho máy chủ liệu Trong HDFS, tập tin lớn chia thành nhiều khối khối lưu tập DataNodes Tác vụ NameNode mở, đóng đổi tên tập tin, thư mục điều chỉnh truy cập đến hệ thống tập tin, tác vụ DataNode đọc ghi vào hệ thống tập tin DataNode làm nhiệm vụ tạo, xóa, nhân rộng liệu dựa dẫn từ NameNode 17 Trong thực tế, NameNode DataNode phần mềm thiết kế để chạy máy chủ, viết Java Namenode chịu trách nhiệm điều phối thao tác truy cập (đọc/ghi liệu) client lên hệ thống HDFS Và tất nhiên, DataNode nơi thật lưu trữ block file HDFS, nên chúng nơi trực tiếp đáp ứng thao tác truy cập Chẳng hạn client hệ thống muốn đọc file hệ thống HDFS, client thực request (thông qua RPC) đến Namenode để lấy metadata file cần đọc Từ Metadata biết danh sách block file vị trí DataNode chứa block Client truy cập vào DataNode để thực request đọc block Namenode thực nhiệm vụ thơng qua daemon tên namenode chạy port 8021 Mỗi DataNode server chạy daemon datanode port 8022 Định kỳ, DataNode báo cáo cho NameNode biết danh sách tất block mà lưu trữ, NameNode dựa vào thông tin để cập nhật lại metadata Cứ sau lần cập nhật lại vậy, Metadata NameNode đạt tình trạng thống với liệu DataNode Tồn trạng thái metadata tình trạng thống gọi checkpoint 18 Metadata trạng thái checkpoint dùng để nhân metadata dùng cho mục đích phục hồi lại NameNode NameNode bị lỗi X Kiến trúc HDFS Các khái niệm bạn cần nắm master, slave, NameNode, DataNodes, cách đọc file HDFS, cách ghi file HDFS 19 Một cụm HDFS bao gồm hai loại nút (node) hoạt động theo mơ hình nút chủ - nút thợ (master-worker): Một cụm HDFS có namenode (master – nút chủ) Một cụm HDFS có nhiều datanode (worker - nút thợ) Namenode quản lý namespace filesystem Nó quản lý filesystem tree metadata cho tất file thư mục tree Thông tin lưu trữ đĩa vật lý dạng không gian tên ảnh nhật ký (edit log) Namenode cịn quản lý thơng tin khối (block) tập tin lưu datanodes HDFS đưa không gian tên cho phép liệu lưu tập tin Trong tập tin chia thành hay nhiều khối (block) block lưu trữ tập DataNode Namenode thực thi hoạt động hệ thống quản trị không gian tên tập tin mở, đóng, đổi tên tập tin thư mục Namenode định việc kết nối khối với DataNode Các DataNode có tính xử lý yêu cầu đọc ghi từ máy khách Ngoài DataNode cịn thực việc tạo, xóa, lặp khối theo hướng dẫn DataNode 20 Một phần mềm thiết kế bao gồm NameNode DataNode chay máy tính thơng thường u cầu chạy hệ điều hành GNU/Linux HDFS xây dựng ngôn ngữ Java nên máy hỗ trợ Java chạy phần mềm thực thi NameNode DataNode XI Đọc ghi Đọc liệu file HDFS Với khối liệu (block) ID địa IP đích máy chủ (host) Datanode, máy khách (client) liên lạc với Datanode lại để đọc khối (block) cần thiết Quá trình lặp lại tất khối file đọc máy khách đóng luồng đọc file trực tuyến 21 Ghi file HDFS Việc ghi liệu phức tạp việc đọc liệu hệ thống HDFS.Ban đầu, máy khách gửi yêu cầu đển tạo file việc sử dụng Hadoop FileSystem APIs Một yêu cầu gửi đến namenode để tạo tập tin metadata user có quyền tạo Thơng tin Metadata cho tập tin tạo; nhiên lúc chưa có block liên kết với tập Một tiến trình trả kết gửi lại cho máy khách xác nhận yêu cầu tạo file hoàn thành bắt đầu ghi liệu Ở mức API, đối tượng Java stream trả Dữ liệu máy khách ghi vào luồng chia thành gói, lưu queue nhớ Một tiến trình riêng biệt liên hệ với namenode để yêu cầu tập datanode phục vụ cho việc lưu liệu vào khối (block) Máy khách tạo kết nối trực tiếp đến datanode danh sách Datanode kết nối đến datanode khác Các gói liệu ghi dần vào datanode Mỗi 22 datanode phản hồi liệu ghi thành công hay khơng Q trình kết thúc tồn gói liệu lưu khối (block) datanode XII Đề xuất XIII Đánh giá phân công Mssv 2001180424 2001181221 2001180128 2001180127 2001180165 Họ tên Nguyễn Thái Hưng Võ Thị Thu Ngân Lê Văn Ngoan Đỗ Văn Phú Q Ngơ Trần Vĩnh Kha Hồn thành 100% 100% 100% 100% 100% 23 ... Distriduted 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 Hadoop Distributed File System (HDFS) hệ thống tập tin ảo Khi di chuyển tập tin HDFS, ... 16 VIII HDFS gì? Hadoop Distributed File System (HDFS) [12] hệ thống file phân tán thiết kế để chạy phần cứng thông thường HDFS tương tự hệ thống file phân tán có Tuy nhiên, khác biệt HDFS có... thông lưu trữ phần cứng vật lý kho liệu có giới hạn cho phép Chính vậy, cần quản lý nâng cấp cho kịp thời Hướng giải Hadoop V • Thực nhiệm vụ quản lý file phân tán: HDFS (Hadoop Distributed File

Ngày đăng: 15/12/2021, 10:10

Mục lục

    1. Distriduted file system (HDFS):

    1. Các vấn đề Hadoop có thể giải quyết

    2. Hướng giải quyết của Hadoop

    V. Hadoop hoạt động như thế nào?

    VI. Ưu điểm của Hadoop?

    VII. Demo cài đặt Hadoop

    IX. Các tính năng của HDFS

    XI. Đọc ghi dữ file trên HDFS

    2. Ghi file trên HDFS

    XIII. Đánh giá phân công

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

Tài liệu liên quan