Hadoop sử dụng những cơ chế nào để làm cho namenode có khả năng chống lại sự cố:
Trả lời:
Đáp án đúng: A
Đáp án đúng là A. Hadoop sử dụng hai cơ chế chính để đảm bảo khả năng chịu lỗi của NameNode:
1. **Sao lưu siêu dữ liệu hệ thống tệp vào đĩa cục bộ:** NameNode lưu trữ siêu dữ liệu (metadata) của hệ thống tệp HDFS (ví dụ: cấu trúc thư mục, thông tin về các khối dữ liệu) vào một tệp gọi là "fsimage" và các tệp nhật ký giao dịch (edit logs). Các tệp này được lưu trữ trên đĩa cục bộ của NameNode. Việc sao lưu định kỳ fsimage và các edit logs đảm bảo rằng nếu NameNode bị lỗi, siêu dữ liệu có thể được khôi phục từ bản sao lưu.
2. **Gắn kết NFS từ xa:** Ngoài việc lưu trữ siêu dữ liệu trên đĩa cục bộ, Hadoop cũng hỗ trợ sao lưu siêu dữ liệu vào một hệ thống tệp NFS (Network File System) từ xa. Điều này cung cấp một lớp bảo vệ bổ sung. Nếu đĩa cục bộ của NameNode bị hỏng, siêu dữ liệu có thể được khôi phục từ bản sao lưu NFS. Trong trường hợp NameNode chính bị lỗi, NameNode dự phòng (standby namenode) có thể nhanh chóng tiếp quản vai trò của NameNode chính, sử dụng dữ liệu từ NFS để tiếp tục hoạt động.
Các phương án khác không đúng vì:
* **B. Lưu trữ siêu dữ liệu hệ thống tệp trên đám mây:** Hadoop không trực tiếp sử dụng đám mây để lưu trữ siêu dữ liệu theo mặc định. Mặc dù có thể tích hợp Hadoop với các dịch vụ lưu trữ đám mây, nhưng đây không phải là cơ chế chính để đảm bảo khả năng chịu lỗi của NameNode.
* **C. Sử dụng máy có ít nhất 12 CPU:** Số lượng CPU không liên quan trực tiếp đến khả năng chịu lỗi của NameNode.
* **D. Sử dụng phần cứng đắt tiền và đáng tin cậy:** Mặc dù việc sử dụng phần cứng tốt có thể giảm thiểu nguy cơ hỏng hóc, nhưng Hadoop được thiết kế để chịu lỗi ngay cả khi phần cứng không đáng tin cậy. Việc sao lưu siêu dữ liệu là yếu tố quan trọng hơn.