2013-05-06 27 views
12

Sự khác nhau giữa Apache Helix và Hadoop YARN (MRv2) là gì. Có ai có kinh nghiệm với cả hai công nghệ? Ai đó có thể giải thích cho tôi những ưu điểm/nhược điểm của Helix trên YARN và tại sao các LinkedIn trên LinkedIn phát triển quản lý cluster của riêng họ thay vì sử dụng YARN?Apache Helix vs YARN

Cảm ơn trước Tobi

Trả lời

36

Trong khi Helix và SỢI cả cung cấp khả năng để quản lý các ứng dụng phân tán, có sự khác biệt quan trọng giữa hai người.

YARN chủ yếu cung cấp khả năng quản lý tài nguyên trên một cụm máy trong khi yêu cầu ứng dụng viết logic tùy chỉnh của họ để thương lượng tài nguyên từ trình quản lý tài nguyên. Mặt khác, Helix cung cấp một cách khai báo quản lý trạng thái của các ứng dụng phân tán, do đó giải phóng các ứng dụng khỏi phải thực hiện một triển khai tùy chỉnh. Tại thời điểm này, Helix không cung cấp khả năng quản lý tài nguyên theo cùng cách như YARN. Do đó, hai hệ thống này khá bổ sung.

Như minh hoạ, giả sử bạn có một bộ nút và bạn muốn bắt đầu một số vùng chứa trên chúng.

  1. Phân bổ container giữa các nút dựa trên việc sử dụng tài nguyên
  2. container bắt đầu,
  3. màn container, nếu họ chết container restart

SỢI cung cấp khuôn khổ/máy móc để làm các việc trên. Khi bạn có các vùng chứa, bạn phải triển khai các tính năng sau:

  1. Phân vùng và sao chép: Bạn cần phân bổ nhiều tác vụ cho mỗi vùng chứa. Đối với dự phòng, bạn có thể chọn phân bổ nhiệm vụ cho nhiều vùng chứa.
  2. Quản lý nhà nước: quản lý trạng thái của nhiệm vụ
  3. Lỗi dung sai: Khi thùng chứa không thành công, bạn có thể chọn phân phối lại công việc giữa các vùng chứa còn lại hoặc khởi động lại vùng chứa tùy thuộc vào yêu cầu SLA.
  4. Mở rộng cụm: Bạn có thể bắt đầu vùng chứa mới để xử lý khối lượng công việc, sau đó bạn muốn tác vụ được phân phối lại.
  5. tốc độ nhâp: Trong tất cả các hoạt động này, bạn có thể muốn giới hạn một số thao tác như di chuyển dữ liệu

Helix làm cho nó dễ dàng để đạt được các tính năng trên. Trong YARN người ta cần phải viết các ứng dụng tổng thể để đạt được những (Một ví dụ về việc thực hiện như vậy là Thạc sĩ ứng dụng cho bản đồ hadoop giảm công ăn việc làm).

Helix được phát triển tại LinkedIn để quản lý hệ thống dữ liệu phân tán trong không gian trực tuyến/gần. Trong không gian này khi một thùng chứa được khởi chạy, nó sẽ chạy cho đến khi nó gặp sự cố. Khi vùng chứa không thành công, tác vụ có thể được phân phối lại giữa các vùng chứa còn lại.

YARN đi kèm với thuật toán lập lịch tài nguyên cho phép sử dụng linh hoạt và hiệu quả phần cứng có sẵn cho các tác vụ ngắn ngủi như bản đồ giảm công việc.

+1

Cảm ơn lời giải thích tuyệt vời này !!! – Tobi

+0

Thật tuyệt vời! –