Tải bản đầy đủ (.pdf) (31 trang)

tiểu luận distributed file system

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (1.97 MB, 31 trang )

LOGO
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
1
Nội dung
Tổng quan hệ thống tập tin phân tán1
2.2
2
Google File System2


Hadoop distributed file system4
Map reduce3
Nội dung
Tổng quan hệ thống tập tin phân tán1
Google File System
3
2
3
Hadoop4
Map reduce3
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)

DFS
Đặt tên (naming):
• Kết hợp tên local và host
• Các thư mục từ xa gắn kết vào thư
mục cục bộ
• Cấu trúc tên toàn cục duy nhất của
hệ thống
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ân bản tập tin: mỗi tập tin
có thể có nhiều bản sao nằm
ở các vị trí khác nhau
• Tăng khả năng thực thi và

tính sẵn sàng.
• Tăng khả năng chịu lỗi
5
Có khả năng
chịu lỗi.
Hoạt động trên
nhiều hệ điều
hành khác nhau.
Nội dung
Tổng quan hệ thống tập tin phân tán1
6
Google File System

2
Hadoop4
Map reduce3
Nội dung
Tổng quan hệ thống tập tin phân tán
1
7
Google File System
3
2
Hadoop4
Map reduce3

Nội dung
Tổng quan hệ thống tập tin phân tán
1
8
Google File System
3
2
Hadoop distributed file system4
Map reduce3
Hadoop (1/3)
Hadoop
distributed file

system
Map Reduce
9
• 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.
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

×