HDFS LÀ GÌ

Trước khi so sánh khác biệt về HDFS với HDFS2. Chúng ta đi tìm đọc về HDFS là đồ vật gi, phong cách xây dựng cầm cố nào? Vì sao điều này lại đặc trưng. Bởi vị đây là điều cơ bạn dạng cần biết Khi họ mong mỏi hiểu sâu MapReduce vào Hadoop.Chúng ta thuộc trải qua một số trong những câu hỏi về HDFS

HDFS là gì?

HDFS viết tắt tự Hadoop Distributed File System.

Lý do nào Thành lập HDFS

Lúc form size của tập tài liệu thừa thừa tài năng lưu trữ của một máy vi tính, tất yếu đã dẫn cho nhu cầu phân loại dữ liệu lên trên mặt những laptop. Các hệ thống tập tin thống trị việc lưu trữ tài liệu trên một mạng các máy tính xách tay hotline là khối hệ thống tập tin phân tán. HDFS ra đời bên trên nhu cầu lưu trữ duy trì liệu của Nutch, một dự án Search Engine mối cung cấp mnghỉ ngơi, với cách tân và phát triển nhằm đáp ứng các yên cầu về tàng trữ cùng cách xử lý của các hệ thống cách xử trí tài liệu Khủng cùng với những đặc điểm riêng rẽ. Do kia, những đơn vị phát triển HDFS vẫn xem xét lại các phong cách thiết kế phân tán trước đây cùng phân biệt các sự biệt lập trong mục tiêu của HDFS đối với những hệ thống tệp tin phân tán truyền thống lâu đời.án.

Bạn đang xem: Hdfs là gì

Điểm lưu ý của HDFS

HDFS đã điều khiển xe trên những cluster gồm hàng trăm thậm chí còn hàng ngàn node. Các Hartware này được xây dựng nên từ bỏ những Hartware thường thì, giá bèo, Phần Trăm lỗi cao. Do unique phần cứng những điều đó đã dẫn đến Phần Trăm lỗi cao hơn cluster. Vì nạm khả năng phạt hiện lỗi, chống chịu đựng lỗi, tự phục sinh phải được tích phù hợp vào trong khối hệ thống HDFS.Kích thước tệp tin sẽ to hơn những so với chuẩn truyền thống lâu đời, các file tất cả kích thước mặt hàng GB đang trngơi nghỉ bắt buộc phổ biến. Lúc làm việc cùng với dữ liệu bao gồm size các TB, thì ít lúc nào fan ta lại chọn việc làm chủ hàng tỷ tệp tin gồm size KB. Việc phân chia dữ liệu thành một không nhiều tệp tin bao gồm form size béo sẽ về tối ưu rộng, bởi câu hỏi này giúp bớt thời gian tróc nã xuất tài liệu với đơn giản dễ dàng hóa việc làm chủ tập tin.HDFS không phải là 1 trong hệ thống tệp tin dành riêng cho những mục đích phổ biến. HDFS có thiết kế dành cho các vận dụng dạng cách xử lý kăn năn (batch processing). Do kia, các file trên HDFS một Khi được tạo nên, ghi dữ liệu và đóng góp lại thì bắt buộc bị chỉnh sữa được nữa. Điều này làm cho đơn giản dễ dàng hoá đảm bảo tính đồng điệu của dữ liệu và có thể chấp nhận được truy cập tài liệu cùng với thông lượng cao.

Kiến trúc HDFS

Giống nhỏng các khối hệ thống file không giống, HDFS gia hạn một cấu tạo cây phân cấp những file, thỏng mục cơ mà những file đã nhập vai trò là những node lá. Trong HDFS, mỗi tệp tin sẽ tiến hành chia ra có tác dụng một tốt nhiều bloông xã với mỗi blochồng này sẽ có được một bloông xã ID nhằm nhấn diện. Các blochồng của cùng một file (trừ block cuối cùng) sẽ sở hữu được thuộc form size cùng kích thước này được gọi là blochồng kích thước của file kia. Mỗi blochồng của tệp tin sẽ được tàng trữ vì thế nhiều bạn dạng sao (replica) khác biệt bởi vì mục tiêu bình an dữ liệu.HDFS bao gồm một bản vẽ xây dựng master/slave. Trên một cluster chạy HDFS, bao gồm hai các loại node là Namenode và Datanode. Một cluster bao gồm độc nhất vô nhị một Namenode và có một xuất xắc những Datanode. Namenode vào vai trò là master, Chịu trách rưới nhiệm duy trì báo cáo về cấu tạo cây phân cấp những file, thư mục của khối hệ thống file và những metadata khác của hệ thống tệp tin. Cụ thể, các Metadata mà lại Namenode lưu trữ bao gồm có:

File System Namespace: là hình ảnh cây tlỗi mục của khối hệ thống tệp tin tại 1 thời điểm làm sao đó. File System Namespace trình bày tất những những file, tlỗi mục gồm bên trên hệ hống tệp tin và quan hệ thân bọn chúng. tin tức để ánh xạ từ bỏ thương hiệu tệp tin ra thành danh sách các block: cùng với mỗi file, ta bao gồm một list có lắp thêm từ bỏ những bloông chồng của file kia, mỗi Block thay mặt đại diện bởi vì Blochồng ID. Nơi tàng trữ các block: những bloông xã được đại diện một Bloông chồng ID. Với mỗi block ta có một list những DataNode tàng trữ những bản sao của bloông chồng đó.

Các DataNode đang Chịu trách nhiệm tàng trữ các blochồng thiệt sự của từng file của hệ thống file phân tán lên hệ thống tệp tin cục bộ của chính nó. Mỗi một block sẽ được lưu trữ nhỏng là 1 trong file hiếm hoi bên trên khối hệ thống file toàn cục của DataNode.

Sơ đồ vật phong cách xây dựng HDFS

*

Namenode đã chịu đựng trách nhiệm điều phối các làm việc truy cập (đọc/ghi dữ liệu) của client lên hệ thống HDFS. Và tất nhiên, bởi vì các DataNode là vị trí thiệt sự lưu trữ các bloông xã của các file bên trên HDFS, bắt buộc bọn chúng sẽ là nơi trực tiếp thỏa mãn nhu cầu những thao tác truy cập này. Chẳng hạn nhỏng Lúc client của khối hệ thống mong phát âm một tệp tin bên trên khối hệ thống HDFS, client này vẫn tiến hành một request (trải qua RPC) cho Namenode để lấy những metadata của file cần gọi. Từ metadata này nó đang hiểu rằng danh sách những block của file cùng địa chỉ của những DataNode đựng các bạn dạng sao của từng bloông chồng. Client đang truy vấn vào các DataNode nhằm tiến hành các request phát âm những bloông chồng. Namenode thực hiện trách nhiệm của nó thông qua một daemon thương hiệu namenode chạy trên port 8021. Mỗi DataNode server vẫn chạy một daemon datanode bên trên port 8022. Định kỳ, từng DataNode sẽ báo cáo mang đến NameNode biết về danh sách toàn bộ những bloông xã nhưng nó đang lưu trữ, NameNode đang dựa vào đầy đủ báo cáo này nhằm update lại các metadata trong nó. Cứ đọng sau những lần cập nhật lại điều này, metadata trên NameNode đang đã đạt được chứng trạng thống tuyệt nhất cùng với dữ liệu trên các DataNode. Toàn bộ tâm trạng của metadata Khi đang ở triệu chứng thống tốt nhất này được Call là 1 checkpoint. Metadata sống tinh thần checkpoint sẽ được dùng để nhân phiên bản metadata cần sử dụng mang đến mục tiêu hồi phục lại NameNode nếu NameNode bị lỗi.

Xem thêm: Xin Zhao Mùa 11: Cách Lên Đồ Xin Zhao Di Top, Xin Zhao Mùa 11: Bảng Ngọc Bổ Trợ, Cách Lên Đồ

Đọc file trên HDFS

Đầu tiên, client đã msống file nên phát âm bằng cách gửi thưởng thức gọi file mang lại NameNode. Sau đó NameNode đang triển khai một trong những khám nghiệm coi file được yêu cầu gọi bao gồm mãi sau không, hoặc tệp tin đề xuất gọi tất cả đã sinh hoạt tinh thần “khoẻ mạnh” hay không. Nếu đầy đủ trang bị phần đa ổn định, NameNode vẫn gửi danh sách những blochồng (đại diện vày Block ID) của file với ảnh hưởng các DataNode cất các bạn dạng sao của bloông chồng này. Tiếp theo, client đang mở các liên kết cho tới DataNode, triển khai một RPC để yêu cầu dìm bloông chồng buộc phải phát âm và đóng kết nối với DataNode. Lưu ý là với từng block ta có thể có nhiều DataNode tàng trữ những bản sao của block kia. Client sẽ chỉ hiểu bạn dạng sao của block trường đoản cú DataNode “gần” tuyệt nhất. Client đang triển khai Việc phát âm những block lặp đi lăp lại cho tới khi blochồng cuối cùng của tệp tin được gọi ngừng. Quá trình client gọi dữ liệu tự HDFS đã transparent với người tiêu dùng hoặc chương trình vận dụng client, người dùng sẽ dùng một tập API của Hadoop nhằm hệ trọng với HDFS, những API này bít giấu đi quá trình liên lạc cùng với NameNode cùng kết nối các DataNode nhằm dìm dữ liệu.

Ghi file trên HDFS

Thứ nhất, client đang gửi thưởng thức cho NameNode tạo một file entry lên File System Namespace. File new được sản xuất vẫn trống rỗng, tức chưa tồn tại một bloông xã làm sao. Sau đó, NameNode vẫn ra quyết định danh sách các DataNode đã cất các phiên bản sao của tệp tin nên gì và gửi lại cho client Client vẫn chia file bắt buộc gì ra thành các block, và cùng với từng block client đang đóng gói thành một packet. Lưu ý là từng bloông xã sẽ tiến hành giữ ra thành nhiều phiên bản sao trên các DataNode không giống nhau (tuỳ vào chỉ số độ nhân bạn dạng của file).Client gửi packet mang lại DataNode thứ nhất, DataNode thứ nhất sau thời điểm cảm nhận packet đang triển khai giữ gìn phiên bản sao thứ nhất của blochồng. Tiếp theo DataNode trước tiên sẽ gửi packet này đến DataNode trang bị hai để lưu ra bản sao lắp thêm nhì của block. Tương từ bỏ DataNode thứ hai đang gửi packet mang đến DataNode lắp thêm cha. Cứ đọng như thế, những DataNode cũng lưu giữ các bạn dạng sao của một bloông chồng đã hiện ra một ống dẫn tài liệu data pipe. Sau Khi DataNode sau cùng nhấn thành được packet, nó sẽ gửi lại mang đến DataNode sản phẩm công nghệ nhị một gói chứng thực rằng vẫn lưu giữ thành công . Và gói thiết bị nhì lại gửi gói xác nhận triệu chứng thành công của nhị DataNode về DataNode thứ nhất.Client đang nhận ra những report chứng thực từ DataNode đầu tiên mang lại tình trạng thành công xuất sắc của toàn bộ DataNode bên trên data pipe. Nếu có ngẫu nhiên một DataNode làm sao bị lỗi vào quy trình ghi dữ liệu, client đã triển khai chứng thực lại những DataNode đã lưu lại thành công xuất sắc phiên bản sao của blochồng với tiến hành một hành vi khắc ghi bloông xã lên trên mặt DataNode bị lỗi. Sau Lúc tất cả những blochồng của tệp tin số đông vẫn đươc ghi lên các DataNode, client đang thực hiên một thông điệp báo cho NameNode nhằm mục đích update lại danh sách các blochồng của file vừa tạo ra. tin tức Mapping tự Bloông xã ID thanh lịch list các DataNode tàng trữ sẽ được NameNode tự động update bằng các định kỳ những DataNode đang gửi report đến NameNode danh sách các bloông xã mà lại nó thống trị.

Từ HDFS cho tới HDFS2 ( từ bỏ Hadoop 1.0 mang đến Hadoop 2.0) có gì không giống biệt

Thiết kế cội của HDFS

Gỉai quyết bài bác tân oán cùng với : 1 Name Node cùng n DataNodes

HDFS2

Bài toán thù đang không ngừng mở rộng ra cùng với n NameNodes và n DataNodesTgiỏi đổi lớn nhất là HDFS federationLợi ích :