JobTracker và Task Tracker: các máy MapReduce 3 0-

Một phần của tài liệu hệ cơ sở dữ liệu phân tán và ứng dụng trong máy tìm kiếm (Trang 32 - 34)

Trên các file hệ thống có máy MapReduce, trong đó bao gồm một Job Tracker, mà các ứng dụng client xác nhận các công việc MapReduce. Job Tracker đẩy các công việc ra các node Task Tracker trong cụm, cố gắng để giữ cho công việc gần với dữ liệu có thể. Với các filesystem rack-aware, Job Tracker biết được node chứa dữ liệu và máy nào gần nó. Nếu công việc không thể được lưu trữ trên trên các node dữ liệu thực tế, ưu tiên sẽ được dành cho các node trong cùng một rack. Điều này làm giảm lưu lượng mạng trên trục chính. Nếu một Task Tracker lỗi hoặc bị time out, phần đó của công việc sẽ được lập lịch lại. Nếu Job Tracker lỗi, tất cả các công việc đang thực thi sẽ bị mất.

- 31 -

Hình 5: Các máy MapReduce

Hadoop 0.21 có thêm một số trạm kiểm soát tới quá trình này, các Job Tracker ghi lại những gì được đưa lên filesystem. Khi một Job Tracker khởi động, nó sẽ chờ bất kì dữ liệu nào, để nó có thể khởi động lại làm việc từ khi nó rời khỏi. Trong các phiên bản trước đó của Hadoop, tất cả các công việc đang hoạt động sẽ bị mất khi Job Tracker khởi động lại.

Những hạn chế của phương pháp này là:

- Việc phân chia công việc cho các Task Tracker là đơn giản. Mỗi Task Tracker có một số khe có sẵn (ví dụ như 4 khe). Mỗi map hoạt động hoặc giảm task chiếm một khe. Các Job Tracker phân bổ công việc tới các tracker gần với dữ liệu nhất với một khe có sẵn. Không có cân nhắc tới các hoạt động tải hiện thời của các máy đã được chỉ định.

- Nếu một Task Tracker quá chậm, nó có thể làm trì hoãn toàn bộ các hoạt động MapReduce, đặc biệt là về khoảng cuối của công việc, khi mà tất cả mọi thứ chỉ còn chờ một task chậm duy nhất.

Filesystem HDFS không bị giới hạn bởi các công việc MapReduce. Nó có thể được sử dụng cho các ứng dụng khác, nhiều trong số chúng là trên nền Apache. Danh sách bao

Một phần của tài liệu hệ cơ sở dữ liệu phân tán và ứng dụng trong máy tìm kiếm (Trang 32 - 34)