Mục đích của nút checkpoint trong cụm Hadoop là (The purpose of checkpoint node in a Hadoop cluster is to)
A.
A. Kiểm tra xem NameNode có hoạt động không
B.
B. Kiểm tra xem tệp hình ảnh có đồng bộ giữa NodeName và NameNode phụ hay không
C.
C. Hợp nhất hình ảnh và chỉnh sửa nhật ký và tải nó trở lại NameNode đang hoạt động.
D.
D. Kiểm tra xem các DataNode nào không thể truy cập được.
Trả lời:
Đáp án đúng: B
Nút Checkpoint (Checkpoint Node) trong Hadoop có nhiệm vụ chính là định kỳ hợp nhất tệp hình ảnh (fsimage) và các chỉnh sửa nhật ký (edit logs) từ NameNode. Sau khi hợp nhất, nó tạo ra một hình ảnh mới và tải nó trở lại NameNode đang hoạt động. Quá trình này giúp giảm thời gian khởi động lại của NameNode vì nó không cần phải xử lý một lượng lớn các chỉnh sửa nhật ký khi khởi động.
Trong HDFS, khi một tệp bị xóa bởi người dùng, nó không bị mất vĩnh viễn ngay lập tức. Thay vào đó, nó sẽ được chuyển vào thùng rác (Trash) nếu tính năng này được cấu hình. Điều này cho phép người dùng có thể khôi phục lại các tệp đã xóa nếu cần thiết trong một khoảng thời gian nhất định trước khi chúng bị xóa vĩnh viễn. Do đó, đáp án B là chính xác.
Kiến trúc HDFS (Hadoop Distributed File System) trong Hadoop có nguồn gốc từ Hệ thống tệp phân tán của Google (Google File System - GFS). GFS là một thiết kế hệ thống tệp được Google phát triển để đáp ứng nhu cầu lưu trữ và xử lý dữ liệu lớn của họ. Hadoop đã lấy cảm hứng từ GFS để xây dựng HDFS, một hệ thống tệp tương tự nhưng mã nguồn mở, phù hợp cho việc xử lý dữ liệu lớn trên các cụm máy tính phân tán.
Lệnh `hadoop fs -test -z URI` được sử dụng để kiểm tra xem một tệp có độ dài bằng 0 hay không. Nếu tệp tại đường dẫn URI tồn tại và có độ dài bằng 0, lệnh sẽ trả về mã thoát (exit code) là 0. Các trường hợp khác sẽ trả về mã thoát khác 0. Do đó, đáp án đúng là "nếu tệp có độ dài bằng 0".
Lệnh `hadoop fs -expunge` được sử dụng để dọn dẹp thùng rác (Trash) trong Hadoop Distributed File System (HDFS). Khi bạn xóa một tệp trong HDFS, nó không bị xóa ngay lập tức mà được chuyển vào thùng rác. Lệnh `hadoop fs -expunge` sẽ xóa vĩnh viễn các tệp trong thùng rác, giải phóng không gian lưu trữ. Do đó, đáp án đúng là D.
NameNode trong HDFS lưu trữ metadata về hệ thống tệp, bao gồm thông tin về các tệp và thư mục, chẳng hạn như tên tệp, quyền, vị trí của các khối dữ liệu và kích thước. Khi số lượng tệp tăng lên, lượng metadata mà NameNode cần quản lý cũng tăng lên. Điều này dẫn đến việc NameNode cần nhiều bộ nhớ hơn để lưu trữ tất cả thông tin này. Vì vậy, đáp án đúng là khi tăng số lượng tệp được lưu trữ trong HDFS, bộ nhớ được yêu cầu bởi NameNode tăng lên.