Một khách hàng truy cập vào hệ thống tập tin thay mặt của người sử dụng bằng cách giao tiếp với name
nút và datanodes. Các khách hàng trình bày một giao diện hệ thống tập tin tương tự như một di
Operating System Interface (POSIX), do đó, mã người dùng không cần phải biết về
namenode và datanodes hoạt động.
Datanodes là workhorses của hệ thống tập tin. Họ lưu trữ và lấy khối khi
họ đang nói đến (do khách hàng hoặc các namenode), và họ báo cáo lại cho namenode
định kỳ với các danh sách của các khối mà họ đang lưu trữ.
Nếu không có sự namenode, hệ thống tập tin không thể được sử dụng. Trong thực tế, nếu các máy tính chạy
các namenode đã được xóa sạch, tất cả các tập tin trên hệ thống tập tin sẽ bị mất đi vì có
thể sẽ không có cách nào biết làm thế nào để tái tạo lại các tập tin từ các khối trên
datanodes. Vì lý do này, điều quan trọng là làm cho namenode đàn hồi để thất bại,
và Hadoop cung cấp hai cơ chế này.
Cách thứ nhất là để sao lưu các tập tin mà tạo nên trạng thái liên tục của hệ thống tập tin
siêu dữ liệu. Hadoop có thể được cấu hình để các namenode viết bang dai dẳng của mình cho
nhiều hệ thống tập tin. Những ghi được đồng bộ và nguyên tử. Các cấu hình thông thường
lựa chọn là để ghi vào đĩa địa phương cũng như từ xa NFS mount.
Nó cũng có thể chạy một namenode thứ cấp, mà mặc dù tên của nó không hoạt động như
một namenode. Vai trò chính của nó là để định kỳ kết hợp các hình ảnh không gian tên với các chỉnh sửa
bản ghi để ngăn chặn việc chỉnh sửa bản ghi trở nên quá lớn. Các namenode thứ cấp thường
chạy trên một máy vật lý riêng biệt, vì nó đòi hỏi nhiều CPU và càng nhiều
bộ nhớ như là namenode để thực hiện việc hợp nhất. Nó giữ một bản sao của các gọi tên bố sáp nhập
hình ảnh không gian, có thể được sử dụng trong các sự kiện của sự thất bại namenode. Tuy nhiên, tình trạng
của namenode thứ chậm lại rằng trong những chính, do đó trong trường hợp thất bại của
các chính, mất dữ liệu là gần như chắc chắn. Lộ trình thông thường của hành động trong trường hợp này là để sao chép
các tập tin siêu dữ liệu của namenode được trên NFS đến trung học và chạy nó như mới
chính. (Lưu ý rằng nó có thể chạy một namenode nóng chờ thay vì một thứ,
như đã thảo luận trong "HDFS High Availability" trên trang 48.)
Xem "Những hình ảnh hệ thống tập tin và chỉnh sửa đăng nhập" trên trang 318 để biết thêm chi tiết.
Khối Caching
thường một datanode đọc toàn bộ khối từ đĩa, nhưng cho các tập tin thường xuyên truy cập các khối
có thể được lưu trữ một cách rõ ràng trong bộ nhớ của datanode, trong một khối bộ nhớ cache off-heap. Bởi
mặc định, một khối được lưu trữ trong bộ nhớ chỉ có một datanode, mặc dù số lượng là con-
figurable trên một cơ sở cho mỗi tập tin. Lập lịch công việc (đối với MapReduce, Spark, và khung khác
công trình) có thể tận dụng lợi thế của các khối cache bằng cách chạy các tác vụ trên datanode nơi một
khối được lưu trữ, để tăng hiệu suất đọc. Một bảng tra cứu nhỏ được sử dụng trong một gia là
một ứng cử viên tốt cho bộ nhớ đệm, ví dụ.
đang được dịch, vui lòng đợi..
