1. Trang chủ
  2. » Luận Văn - Báo Cáo

Báo cáo hadoop distributed file system môn dữ liệu lớn và ứng dụng

27 1 0
Tài liệu đã được kiểm tra trùng lặp

Đ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 27
Dung lượng 3,24 MB

Nội dung

Nó được thiết kế để chạy trên một máy tính thông thường. Tốc độ Các cụm Hadoop lớn có thể đọc hoặc ghi nhiều terabyte dữ liệu mỗi giây.. Mỗi máy lưu trữ một phần dữ liệu hệ thống tập ti

Trang 1

Môn: Dữ liệu lớn và Ứng dụng

Mã môn học: 7080507 - 100

Tên sinh viên: Bùi Phúc Hải-2021050233

Gv giảng dạy: PGS.TS Lê Hồng Anh

Hà Nội, tháng 2 năm 2023 -□□&□□ -

Trang 2

Mục Lục

I Giới thiệu 3

A HDFS là gì? 3

B Tại sao là HDFS? 3

C Phương pháp nghiên cứu 4

II HDFS có khả năng giải quyết những vấn đề nào? 5

A Lỗi phần cứng thường xuyên xảy ra 5

B Phân chia tập dữ liệu thành tập dữ liệu có dung lượng ít hơn 5

C Được thiết kế đặc biệt cho các ứng dụng xử lý dạng khối 5

D Cách hoạt động của HDFS 5

III Kiến trúc và thành phần của HDFS 5

A Đặc điểm của HDFS 5

B Ưu điểm nổi bật HDFS 6

C Kiến trúc HDFS 7

D Thành phần của HDFS 11

Nút tên 11

Nút tên phụ 12

Hệ thống tập tin 12

Metadata 13

Nút dữ liệu 14

IV Kiến trúc sao chép khối 15

A Phương pháp sao chép 16

B Namenode và datanode 16

C Cấu trúc liên kết sao chép dữ liệu 17

D Các tập tin được lưu trữ như thế nào? 20

E Dòng lệnh HDFS 22

G Trình duyệt tệp Huế 23

V Kết luận 24

VI Tài liệu tham khảo 25

Trang 3

I Giới thiệu

A HDFS là gì?

HDFS(Hadoop Distributed File System) là một hệ thống tệp phân tán cungcấp quyền truy cập vào dữ liệu trên các cụm Hadoop Một cụm là một nhóm các máy tính làm việc cùng nhau Giống như các công nghệ liên quan đến Hadoop khác, HDFS là công cụ chính quản lý và hỗ trợ phân tích khối lượng rất lớn; petabyte và zettabyte dữ liệu

HDFS được xây dựng để chịu tải làm việc với các tập tin lớn Nó cho phép lưu trữ các tập tin có dung lượng lớn và lưu trữ chúng trên nhiều máy tính khác nhau HDFS cung cấp tính năng sao lưu dữ liệu tự động, đảm bảo rằng dữ liệu được lưu trữ an toàn và có sẵn để sử dụng khi cần thiết.HDFS được thiết kế để chịu tải xử lý dữ liệu song song Nó sử dụng mô hình xử lý dữ liệu theo phân tán, trong đó dữ liệu được phân tán trên nhiều máy tính khác nhau để tăng tốc độ xử lý dữ liệu Điều này cho phép HDFS

xử lý các tập tin lớn một cách nhanh chóng và hiệu quả

B Tại sao là HDFS?

Trước năm 2011, việc lưu trữ và truy xuất hàng petabyte hoặc zettabyte dữ liệu có ba thách thức lớn sau: Chi phí, Tốc độ, Độ tin cậy Hệ thống tệp truyền thống có giá khoảng 10.000 đến 14.000 đô la cho mỗi terabyte Tìm kiếm và phân tích dữ liệu rất tốn thời gian và tốn kém Ngoài ra, nếu các thành phần tìm kiếm được lưu trên các máy chủ khác nhau, việc tìm nạp dữliệu sẽ khó khăn Đây là cách HDFS giải quyết cả ba vấn đề chính của hệ thống tệp truyền thống:

 Trị giá

Trang 4

HDFS là phần mềm mã nguồn mở nên có thể sử dụng phần mềm này với chi phí hỗ trợ và cấp phép bằng không Nó được thiết kế để chạy trên một máy tính thông thường.

 Tốc độ

Các cụm Hadoop lớn có thể đọc hoặc ghi nhiều terabyte dữ liệu mỗi giây Một cụm bao gồm nhiều hệ thống được kết nối với nhau một cách hợp lý trong cùng một mạng

HDFS có thể dễ dàng cung cấp hơn hai gigabyte dữ liệu mỗi giây trên mỗi máy tính tới MapReduce, một khung xử lý dữ liệu của Hadoop

 Độ tin cậy

HDFS sao chép dữ liệu nhiều lần và phân phối các bản sao cho các nút riêng lẻ Nút là một máy chủ hàng hóa được kết nối với nhau thông qua một thiết bị mạng

HDFS sau đó đặt ít nhất một bản sao dữ liệu trên một máy chủ khác Trong trường hợp, bất kỳ dữ liệu nào bị xóa khỏi bất kỳ nút nào; nó có thể được tìm thấy trong cụm

Một hệ thống tệp thông thường, giống như hệ thống tệp Linux, khác với HDFS về kích thước của dữ liệu Trong một hệ thống tệp thông thường, mỗi khối dữ liệu nhỏ, thường khoảng 51 byte Tuy nhiên, trong HDFS, theomặc định, mỗi khối là 128 MB

Một hệ thống tệp thông thường cung cấp quyền truy cập vào dữ liệu lớn nhưng có thể gặp sự cố đầu vào/đầu ra đĩa chủ yếu do nhiều thao tác tìm kiếm

Mặt khác, HDFS có thể đọc tuần tự số lượng lớn dữ liệu sau một thao tác tìm kiếm Điều này làm cho HDFS trở nên độc nhất vì tất cả các hoạt động này được thực hiện ở chế độ phân tán

C Phương pháp nghiên cứu

Phương pháp nghiên cứu trong báo cáo này dựa trên việc thu thập thông tin

từ các nguồn tin cậy và các tài liệu chính thống liên quan đến HDFS Bên cạnh đó, báo cáo cũng sử dụng các phương pháp phân tích và so sánh để đánh giá hiệu quả của dữ liệu lớn đối với Hadoop

Trang 5

II HDFS có khả năng giải quyết những vấn đề nào?

A Lỗi phần cứng thường xuyên xảy ra

HDFS được tích hợp với hệ thống phát hiện ra lỗi, tự động khôi phục lỗi vàchống chịu lỗi Các tính năng này sẽ giúp bạn giảm rủi ro xuống mức thấp nhất khi một hệ thống phát sinh lỗi phần cứng quá bất ngờ

B Phân chia tập dữ liệu thành tập dữ liệu có dung lượng ít hơn

Vấn đề tiếp theo mà HDFS có thể giúp các lập trình viên giải quyết được triệt để nhất đó chính là phân chia dữ liệu Cụ thể:; HDFS sẽ hỗ trợ chia cáctập dữ liệu hàng trăm Terabyte thành những tập dữ liệu có dung lượng ít hơn Quá trình phân chia đều thực hiện trên hệ thống máy tính Điều này sẽgiúp cho các Developer có thể quản lý dễ dàng hơn, giúp cho hệ thống giảm thiểu được thời gian truy xuất dữ liệu và đơn giản hóa quá trình quản

lý cho tập tin

C Được thiết kế đặc biệt cho các ứng dụng xử lý dạng khối

Các file khi được tạo ra trên hệ thống HDFS đều sẽ được ghi, đóng lại và không thể chỉnh sửa được nữa Điều này sẽ giúp bảo mật, đảm bảo tính nhất quán cho các tập tin của dữ liệu

D Cách hoạt động của HDFS

Đây là cách HDFS lưu trữ tệp Ví dụ - Một người bảo trợ đã tặng một bộ sưu tập sách nổi tiếng cho thư viện trường đại học Người thủ thư quyết định sắp xếp các cuốn sách trên một giá nhỏ và sau đó phân phát nhiều bản sao của mỗi cuốn sách trên các giá khác Bằng cách này, học sinh có thể dễ dàng lấy một cuốn sách từ bất kỳ giá nào

Tương tự, HDFS tạo nhiều bản sao của một khối dữ liệu và giữ chúng trongcác hệ thống riêng biệt để dễ dàng truy cập

III Kiến trúc và thành phần của HDFS

A Đặc điểm của HDFS

 HDFS có khả năng chịu lỗi cao

 HDFS có thể bao gồm hàng nghìn máy chủ Mỗi máy lưu trữ một phần dữ liệu hệ thống tập tin HDFS phát hiện các lỗi có thể xảy ra trên bất kỳ máy nào và khôi phục lỗi đó một cách nhanh chóng và tự động

Trang 6

 HDFS có thông lượng cao

 HDFS được thiết kế để lưu trữ và quét hàng triệu hàng dữ liệu và đếm hoặc thêm một số tập hợp con của dữ liệu Thời gian cần thiết trong quá trình này phụ thuộc vào mức độ phức tạp liên quan

 Nó đã được thiết kế để hỗ trợ các tập dữ liệu lớn trong các công việc kiểu hàng loạt Tuy nhiên, điểm nhấn là thông lượng truy cập dữ liệucao hơn là độ trễ thấp

 HDFS là kinh tế

 HDFS được thiết kế theo cách có thể được xây dựng trên phần cứng hàng hóa và các nền tảng không đồng nhất, có giá thấp và dễ dàng cósẵn

Tương tự như ví dụ được giải thích trong phần trước, HDFS lưu trữ các tệp trong một số khối Mỗi khối được sao chép vào một vài máy tính riêng biệt

Số lượng bản sao có thể được sửa đổi bởi quản trị viên Dữ liệu được chia thành 128 Megabyte mỗi khối và được sao chép trên các đĩa cục bộ của cácnút cụm Siêu dữ liệu kiểm soát vị trí vật lý của một khối và bản sao của nótrong cụm Nó được lưu trữ trong NameNode HDFS là hệ thống lưu trữ cho cả đầu vào/đầu ra của công việc MapReduce Hãy hiểu cách HDFS lưutrữ tệp bằng một ví dụ

B Ưu điểm nổi bật HDFS

Hiện nay, HDFS là một trong những hệ thống được các lập trình viên sử dụng rất phổ biến Lý do là vì?

HDFS cho phép dữ liệu có thể phân tán: Điều này có thể hiểu như sau: Nếunhư có một cụm Hadoop mà trong đó bao gồm 20 máy tính thì bạn chỉ cần đưa một file dữ liệu vào HDFS Khi đó, thì file sẽ tự động được chia nhỏ thành nhiều phần rồi được lưu trữ ở 20 máy tính đó

HDFS cho phép tính toán và phân tán song song: Thay vì chỉ sử dụng một máy để xử lý công việc, thì với HDFS thì bạn có thể để các máy hoạt động song song để xử lý chung một công việc để tiết kiệm thời gian

HDFS cho phép nhân bản các file: Đặc điểm này sẽ giúp bạn đề phòng được các trường hợp một máy tính trong cụm Hadoop phát sinh sự cố thì

dữ liệu sẽ được backup lại mà không bị mất

Trang 7

HDFS có thể mở rộng theo chiều dọc: Lúc này, bạn sẽ có nhiệm vụ nâng cấp cho các hệ thống bằng cách tăng cấu hình cho máy tính lên Tính năng này còn được gọi là Scale Up hay Vertical scaling.

HDFS sở hữu khả năng mở rộng hệ thống theo chiều ngang: Đặc điểm này có nghĩa rằng, bạn không cần phải nâng cấp cho phần cứng mà chỉ cần mua thêm một chiếc máy tính mới để chia sẻ với chiếc máy hiện tại là được

C Kiến trúc HDFS

Nhìn chung, kiến trúc HDFS được gọi là kiến trúc chủ và nô lệ được hiển thị bên dưới

Trang 8

Một nút chính, đó là NameNode, chịu trách nhiệm nhận các công việc từ các máy khách Nhiệm vụ của nó là đảm bảo rằng dữ liệu cần thiết cho hoạt động được tải

và tách biệt thành các khối dữ liệu

Trang 9

HDFS hiển thị không gian tên hệ thống tệp và cho phép lưu trữ dữ liệu người dùng trong tệp Một tệp được chia thành một hoặc nhiều khối, được lưu trữ và sao chép trong các nút nô lệ được gọi là DataNode như được trình bày trong phần bên dưới.

Các khối dữ liệu sau đó được phân phối đến các hệ thống DataNode trong cụm Điều này đảm bảo rằng các bản sao của dữ liệu được duy trì DataNode dùng

để đọc hoặc ghi các yêu cầu Nó cũng tạo, xóa và sao chép các khối theo hướng dẫn từ NameNode Chúng ta đã thảo luận trong chủ đề trước rằng siêu dữ liệu lưu trữ vị trí khối và bản sao của nó Nó được giải thích trong sơ đồ dưới đây

Trang 10

Có một NameNode phụ thực hiện các nhiệm vụ cho NameNode và cũng được coi

là một nút chính Trước Hadoop 2.0.0, NameNode là một điểm lỗi duy nhất, hoặc SPOF, trong cụm HDFS

Mỗi cụm có một NameNode duy nhất Trong trường hợp xảy ra sự kiện ngoài ý muốn, chẳng hạn như lỗi hệ thống, cụm sẽ không khả dụng cho đến khi người vận hành khởi động lại NameNode

Ngoài ra, các sự kiện bảo trì theo kế hoạch, chẳng hạn như nâng cấp phần mềm hoặc phần cứng trên hệ thống NameNode, sẽ dẫn đến thời gian ngừng hoạt động của cụm

Tính năng HDFS High Availability, hoặc HA, giải quyết các sự cố này bằng cách cung cấp tùy chọn chạy hai NameNodes dự phòng trong cùng một cụm trong cấu hình Hoạt động/Bị động với chế độ chờ nóng

Điều này cho phép chuyển đổi dự phòng nhanh sang NameNode mới trong trường hợp hệ thống gặp sự cố hoặc quản trị viên bắt đầu chuyển đổi dự phòng cho mục đích bảo trì theo kế hoạch

Trong một cụm HA, hai hệ thống riêng biệt được cấu hình là NameNode Trong mọi trường hợp, một trong các NameNode ở trạng thái Hoạt động và nút kia ở trạng thái Chờ

Active NameNode chịu trách nhiệm cho tất cả các hoạt động của máy khách trong cụm, trong khi Standby chỉ hoạt động như một nô lệ, duy trì đủ trạng thái để cung cấp chuyển đổi dự phòng nhanh nếu cần

Trang 11

Một cụm HDFS có thể được quản lý bằng các tính năng sau:

 Lưu trữ dựa trên đại biểu: Lưu trữ dựa trên số đại biểu đề cập đến việc triển khai HA sử dụng Trình quản lý tạp chí số đại biểu hoặc QJM Trong quá trình triển khai này, nút Dự phòng giữ cho trạng thái của nó được đồng bộ hóa với nút Hoạt động thông qua một nhóm trình tiện ích riêng biệt được gọi

là JournalNodes Trình tiện ích là các quy trình chạy dài thường khởi động cùng hệ thống và lắng nghe yêu cầu từ các quy trình máy khách Mỗi trình nền chạy trong Máy ảo Java (JVM) của riêng nó Khi bất kỳ sửa đổi không gian tên nào được thực hiện bởi nút Hoạt động, nó sẽ ghi lại lâu dài một bản ghi sửa đổi cho phần lớn các JournalNodes Nút Standby đọc các chỉnh sửa

từ JournalNodes và liên tục theo dõi các thay đổi đối với nhật ký chỉnh sửa Khi nút Standby chỉnh sửa, nó sẽ áp dụng chúng cho không gian tên củachính nó Trong trường hợp chuyển đổi dự phòng, Chế độ chờ đảm bảo rằng

nó đã đọc tất cả các chỉnh sửa từ JournalNodes trước khi nó tự chuyển sang trạng thái hoạt động Điều này đảm bảo trạng thái không gian tên được đồng

bộ hóa hoàn toàn trước khi chuyển đổi dự phòng xảy ra

 Bộ nhớ dùng chung sử dụng Hệ thống tệp mạng: Trong bộ nhớ dùng chung

sử dụng triển khai NFS, nút Dự phòng giữ trạng thái của nó được đồng bộ hóa với nút Hoạt động thông qua quyền truy cập vào một thư mục trên thiết

Trang 12

Máy chủ NameNode là thành phần cốt lõi của cụm HDFS Chỉ có thể có một máy chủ NameNode trong toàn bộ cụm Namenode duy trì và thực thi thao tác không gian tên hệ thống tệp như mở, đóng và đổi tên các tệp và thư mục có trong HDFS.

Hình ảnh không gian tên và nhật ký chỉnh sửa lưu trữ thông tin về dữ liệu và siêu

dữ liệu NameNode cũng xác định việc liên kết các khối với DataNodes Hơn nữa, NameNode là một điểm thất bại duy nhất DataNode là một máy chủ nhiều phiên bản Có thể có một số máy chủ DataNode Con số phụ thuộc vào loại mạng và hệ thống lưu trữ

Các máy chủ DataNode, lưu trữ và duy trì các khối dữ liệu Máy chủ NameNode cung cấp các khối dữ liệu trên cơ sở loại công việc do khách hàng gửi

DataNode cũng lưu trữ và truy xuất các khối khi được khách hàng hoặc NameNodeyêu cầu Hơn nữa, nó đọc/ghi các yêu cầu và thực hiện tạo khối, xóa và sao chép lệnh từ NameNode Chỉ có thể có một máy chủ NameNode phụ trong một cụm Lưu ý rằng bạn không thể coi máy chủ NameNode phụ là máy chủ khắc phục

Trang 13

sự cố Tuy nhiên, nó khôi phục một phần máy chủ NameNode trong trường hợp bị lỗi.

Nút tên phụ

Máy chủ NameNode phụ duy trì nhật ký chỉnh sửa và thông tin hình ảnh không gian tên đồng bộ với máy chủ NameNode Đôi khi, các hình ảnh không gian tên từ máy chủ NameNode không được cập nhật; do đó, bạn không thể hoàn toàn dựa vàomáy chủ NameNode phụ cho quá trình khôi phục

Hệ thống tập tin

HDFS hiển thị không gian tên hệ thống tệp và cho phép lưu trữ dữ liệu người dùng trong tệp HDFS có một hệ thống tệp phân cấp với các thư mục và tệp NameNode quản lý không gian tên của hệ thống tệp, cho phép máy khách làm việc với các tệp

và thư mục

Trang 14

Một hệ thống tệp hỗ trợ các hoạt động như tạo, xóa, di chuyển và đổi

tên NameNode, ngoài việc duy trì không gian tên hệ thống tệp, ghi lại bất kỳ thay đổi nào đối với thông tin siêu dữ liệu

Bây giờ chúng ta đã tìm hiểu về các thành phần HDFS, hãy xem cách NameNode hoạt động cùng với các thành phần khác

Nút tên: Hoạt động

NameNode duy trì hai tệp liên tục; một là nhật ký giao dịch được gọi là Nhật ký chỉnh sửa và một là hình ảnh không gian tên được gọi là FsImage Nhật ký Chỉnh sửa ghi lại mọi thay đổi xảy ra trong siêu dữ liệu hệ thống tệp, chẳng hạn như tạo tệp mới

Trang 15

NameNode là một hệ thống tệp cục bộ lưu trữ Nhật ký chỉnh sửa Toàn bộ không gian tên hệ thống tệp bao gồm ánh xạ khối, tệp và thuộc tính hệ thống tệp được lưutrữ trong FsImage Điều này cũng được lưu trữ trong hệ thống tệp cục bộ NameNode.

Metadata

Khi các DataNode mới tham gia vào một cụm, siêu dữ liệu sẽ tải các khối nằm trên một DataNode cụ thể vào bộ nhớ của nó khi khởi động Sau đó, siêu dữ liệu sẽ tải dữ liệu định kỳ theo các khoảng thời gian mặc định hoặc

do người dùng xác định

Khi NameNode khởi động, nó sẽ truy xuất Nhật ký chỉnh sửa và FsImage

từ hệ thống tệp cục bộ của nó Sau đó, nó cập nhật FsImage với thông tin Nhật ký chỉnh sửa và lưu một bản sao của FsImage trên hệ thống tệp dưới dạng điểm kiểm tra

Kích thước siêu dữ liệu được giới hạn ở RAM có sẵn trên NameNode Một

số lượng lớn các tệp nhỏ sẽ yêu cầu nhiều siêu dữ liệu hơn một số lượng nhỏ các tệp lớn Do đó, vấn đề quản lý siêu dữ liệu trong bộ nhớ giải thích tại sao HDFS ưu tiên một số lượng nhỏ tệp lớn

Nếu NameNode hết RAM, nó sẽ bị sập và các ứng dụng sẽ không thể sử dụng HDFS cho đến khi NameNode hoạt động trở lại

Ngày đăng: 11/12/2024, 13:00

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

TÀI LIỆU LIÊN QUAN