Báo cáo Tổng quan hệ thống tập tin phân tán (DFS)

Tính trong suốt (Transparency): • Trong suốt truy cập • Trong suốt vị trí • Trong suốt khả năng thực thi • Trong suốt phạm vi (scaling) • Độc lập vị trí Caching và caching location: • Vấn đề là bảo đảm tính nhất quan giữa cache và tập tin chính: tiếp cận từ client hay từ server • Ví trí cache: trên đĩa (đáng tin cậy) hay vùng nhớ (tốc độ nhanh) Truy cập đồng thời: việc thay đổi một tập tin không nên bị cản trở bởi hoạt động các client khác Stateful và stateless: • Stateful là server lưu tất cả thông tin request từ client • Stateless là mỗi yêu cầu client phải cung cấp đầy đủ thông tin cho server Nhânbảntậptin: mỗitập tin cóthể cónhiềubảnsaonằm ởcácvịtrí khácnhau • Tăngkhảnăngthực thi và tính sẵnsàng. • Tăngkhảnăngchịulỗi 5 Có khả năng chịulỗi.

pdf31 trang | Chia sẻ: oanh_nt | Lượt xem: 3241 | Lượt tải: 4download
Bạn đang xem trước 20 trang tài liệu Báo cáo Tổng quan hệ thống tập tin phân tán (DFS), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
Distributed File System GVHD: TS. Hồ Bảo Quốc Nhóm học viên thực hiện: • Dương Hữu Thành – 1212035 • Phạm Ngọc Vân Anh – 1212001 • Nguyễn Thanh Tòng – 1212039 LOGO 1 Nội dung 1 Tổng quan hệ thống tập tin phân tán 2 Google File System 3 Map reduce 4 Hadoop distributed file system 2.2 2 Nội dung 1 Tổng quan hệ thống tập tin phân tán 2 Google File System 33 Map reduce 4 Hadoop 3 Tổng quan hệ thống tập tin phân tán (DFS) (1/2)  DFS là một mô hình phân lớp hệ thống tập tin được phân tán trên nhiều máy.  DFS hổ trợ việc chia sẻ tập tin của các tập tin thông qua môi trường mạng.  Client thao tác trên DFS giống như thao tác trên hệ thống FS (hệ thống tập tin cục bộ).  Hệ thống tập tin cung cấp các dịch vụ cho client truy cập các tập tin trên server: tạo, đọc, ... tập tin. 4 Tổng quan hệ thống tập tin phân tán (DFS) (2/2) Hoạt động trên Tính trong suốt (Transparency): nhiều hệ điều Đặt tên (naming): • Trong suốt truy cập hành khác nhau. • Kết hợp tên local và host • Trong suốt vị trí • Các thư mục từ xa gắn kết vào thư • Trong suốt khả năng thực thi mục cục bộ • Trong suốt phạm vi (scaling) • Cấu trúc tên toàn cục duy nhất của • Độc lập vị trí hệ thống Stateful và stateless: Caching và caching location: • Stateful là server lưu • Vấn đề là bảo đảm tính nhất tất cả thông tin quan giữa cache và tập tin request từ client chính: tiếp cận từ client hay từ • Stateless là mỗi yêu DFS server cầu client phải cung • Ví trí cache: trên đĩa (đáng tin cấp đầy đủ thông tin cậy) hay vùng nhớ (tốc độ cho server nhanh) Nhân bản tập tin: mỗi tập tin có thể có nhiều bản sao nằm Truy cập đồng thời: việc thay đổi một ở các vị trí khác nhau tập tin không nên bị cản trở bởi hoạt • Tăng khả năng thực thi và động các client khác tính sẵn sàng. Có khả năng • Tăng khả năng chịu lỗi chịu lỗi. 5 Nội dung 1 Tổng quan hệ thống tập tin phân tán 2 Google File System 3 Map reduce 4 Hadoop 6 Nội dung 1 Tổng quan hệ thống tập tin phân tán 2 Google File System 33 Map reduce 4 Hadoop 7 Nội dung 1 Tổng quan hệ thống tập tin phân tán 2 Google File System 33 Map reduce 4 Hadoop distributed file system 8 Hadoop (1/3) Hadoop Map Reduce distributed file system • Hadoop là một dự án Apache, tất cả các thành phần tồn tại thông qua bản quyền nguồn mở của Apache. • Hadoop cung cấp một hệ thống tập tin phân tán và một framework để phân tích và sự biến đổi của tập dữ liệu rất lớn sử dụng MapReduce. • Đặc tính quan trọng của Hadoop là phân vùng dữ liệu và tính toán trên nhiều (hàng ngàn) máy chủ, và thực thi tính toán ứng dụng song song. 9 Hadoop (2/3)  Tại sao chọn Hadoop? • Cần xử lý tập dữ liệu khổng lồ trên các cluster lớn của máy tính. • Tốn chi phí xây dựng tính tin cậy trong mỗi ứng dụng. • Cần kiến trúc hạ tầng chung: hiệu quả, đáng tín cậy, dễ dùng, nguồn mỡ, bản quyền apache. 10 Ai đang dùng Hadoop? HDFS – Tổng quan (1/2)  HDFS là hệ thống tập tin phân tán được thiết kê để lưu trữ các tập tin rất lớn với dòng truy cập dữ liệu chạy trên các cluster của phần cứng. 12 HDFS – Tổng quan (2/2)  Namespace duy nhất cho toàn cluster.  Dữ liệu liên kết chặt chẻ. • Mô hình truy cập 1 ghi, nhiều đọc.  Tập tin chia thành nhiều block. • Mỗi block đươc sao chép trên nhiều DataNode  Client thông minh • Client có thể tìm vị trí các block • Client có thể truy cập trực tiếp dữ liệu từ DataNode 13 HDFS – Block (1/2)  Tập tin được chia thành nhiều phần nhỏ, gọi là block để lưu trữ trong HDFS.  Các block của cùng tập tin có thể nằm trên nhiều máy trong cluster. 14 HDFS – Block (2/2)  Sắp đặt các block (block placement): • Bản sao đầu tiên nằm trên node ngẫu nhiên của rack cục bộ. • Bản sao thứ hai trên rack từ xa ngẫu nhiên. • Bản sao thứ ba nằm trên cùng rack ngẫu nhiên trên. • Các bản sao khác có thể sắp đặt ngẫu nhiên.  Client sẽ đọc bản sao gần nhất. 15 HDFS – Kiến trúc (1/10)  NameNode (master): • Quản lý namespace của hệ thống tập tin và các truy cập dữ liệu của client. Ánh xạ tên tập tin đến tập các block. Ánh xạ các block đến DataNode chứa nó • Quản lý cấu hình cluster. • Máy sao chép các block. 16 HDFS – Kiến trúc (2/10)  NameNode meta-data: • Toàn bộ meta-data được lưu trong bộ nhớ chính. • Các meta-data bao gồm: Danh sách tập tin. Danh sách các block của tập tin. Danh sách các DataNode của block. • Nhật ký giao tác: tháo tác tạo, xóa tập tin, ... 17 HDFS – Kiến trúc (3/10)  Image chứa dữ liệu của NameNode và danh sách các block thuộc về mỗi tập tin. 18 HDFS – Kiến trúc (4/10)  NameNode cũng lưu trữ nhật ký sửa đổi của image gọi là journal trong native file system của các host cục bộ. 19 HDFS – Kiến trúc (5/10)  Mẫu cố định của image được lưu trữ trong system file của local gọi là checkpoint. 20 HDFS – Kiến trúc (6/10)  CheckpointNode: • Là NameNode trong HDFS, nhưng trách nhiệm chính của nó là phục vụ các yêu cầu của client. Nó có thể là một trong 2 vai trò là CheckpointNode hay BackupNode, vai trò này được quyết định ở giai đoạn startup. • CheckpointNode định kỳ kết hợp checkpoint đã tồn tại với journal để tạo journal mới và checkpoint rỗng. • CheckpointNode thường chạy trên máy chủ khác NameNode. 21 HDFS – Kiến trúc (7/10)  BackupNode: • BackupNode có khả năng tạo các checkpoint định kỳ, nó duy trì trong bộ nhớ và cập nhật image của không gian tên hệ thống tập tin luôn luôn đồng bộ với trạng thái của NameNode. • Nếu NameNode gặp sự cố thì image của BackupNode trong bộ nhớ và checkpoint trên đĩa sẽ là hồ sơ trạng thái cuối cùng của namespace. • BackupNode có thể xem như NameNode chỉ có thể đọc. 22 HDFS – Kiến trúc (8/10)  DataNode (slaves): • Quản lý các yêu cầu input/output từ client. • Xử lý các bản sao block, tạo và di chuyễn dữ liệu được chỉ thị thực hiện bởi NameNode. • Phục vụ việc lưu trữ các block dữ liệu. • Định kỳ gửi report tất cả các block tồn tại cho NameNode. (Block Report) • Gửi định kỳ heartbeat tới namenode. • Phục vụ yêu cầu đọc, ghi, thực hiện tạo block, xóa và sao chép theo chỉ thị từ namenode. 23 HDFS – Kiến trúc (9/10)  DataNode – bắt tay (hand-shake): • Trong suốt quá trình bắt đầu thì mỗi DataNode kết nối với NameNode và thực hiện “bắt tay” (hand-shake). • Mục đích để xác minh namespace ID và software version của DataNode 24 HDFS – Kiến trúc (10/10)  DataNode – heartbeat: DataNode sẽ gửi heartbeat tới NameNode để xác nhận rằng DataNode đang hoạt động và bản sao block là sẵn sàng. 25 HDFS – Các thao tác đọc ghi tập tin (1/4)  «Single writer, multi readers» • Cùng một lúc có thể có nhiều người đọc, nhưng chỉ có một người duy nhất được phép ghi. 26 HDFS – Các thao tác đọc ghi tập tin (2/4)  Đọc tập tin: • Khi một ứng dụng muốn đọc tập tin, HDFS client phải hỏi NameNode để có danh sách các DataNode giữ bản sao các block của tập tin. Danh sách này được sắp xếp bởi khoảng cách kiến trúc mạng từ client. Client sẽ liên hệ trực tiếp với DataNode và yêu cầu chuyển block mong muốn. 27 HDFS – Các thao tác đọc ghi tập tin (3/4)  Ghi tập tin: • Khi client ghi dữ liệu, đầu tiên nó phải hỏi NameNode để chọn DataNode để nạp bản sao block đầu tiên của tập tin. Client tổ chức một ống (pipeline) theo từng node và gửi data. Khi Block đầu tiên được điền vào, client sẽ yêu cầu DataNode mới để nạp bản sao của block kế tiếp. Ống mới sẽ được tổ chức, và client gửi các byte tiếp theo của tập tin. Sự lựa chọn DataNode của mỗi block tương tự những các khác. 28 HDFS – Các thao tác đọc ghi tập tin (4/4)  Sự toàn vẹn dữ liệu: • Sử dụng checksum để xác nhận dữ liệu (CRC32) • Khi tạo tập tin Client tính checksum (512 byte). DataNode lưu trữ checksum. • Khi truy cập tập tin Client tìm kiếm dữ liệu và checksum từ DataNode. Nếu xác nhận fail, Client cố gắng tạo bản sao khác. 29 HDFS – Sao chép tập tin (Replication) (1/1)  Sao chép trong Hadoop ở mức block.  Có ba mức độ sao chép được đề cập: • Cùng máy > Cùng rack > Khác rack  NameNode phát hiện các DataNode có sự cố: • Chọn DataNode mới cho bản sao mới. • Cân bằng sử dụng đĩa. • Cân bằng lưu lượng truyền thông với DataNode. 30 LOGO 31