2013-11-08 15 views
6

Tôi nghi ngờ câu trả lời là "nó phụ thuộc", nhưng có hướng dẫn chung nào về loại phần cứng nào cần lập kế hoạch để sử dụng cho Facebook Presto không?Yêu cầu phần cứng cho Facebook Presto

Vì Presto sử dụng một điều phối viên và một nhóm công nhân, và công nhân chạy với dữ liệu, tôi tưởng tượng các vấn đề chính sẽ có đủ RAM cho điều phối viên, đủ băng thông mạng cho kết quả một phần được gửi từ công nhân đến điều phối viên, v.v.

Nếu bạn có thể cung cấp một số suy nghĩ chung về cách kích thước cho điều này một cách thích hợp, tôi rất muốn nghe chúng.

+0

Các bạn nhìn vào http://prestodb.io/docs/current/installation/deployment.html? – sufinawaz

Trả lời

24

Hầu hết mọi người đang chạy Presto trên các nút Hadoop mà họ đã có. Tại Facebook, chúng tôi thường chạy Presto trên một vài nút trong cụm Hadoop để trải ra tải mạng.

Nói chung, tôi muốn đi với các tỷ lệ tiêu chuẩn công nghiệp cho một cụm mới: 2 lõi và 2-4 gig bộ nhớ cho mỗi đĩa, với mạng 10 gigabit nếu bạn có thể mua được. Sau khi bạn có một vài máy (4+), điểm chuẩn sử dụng truy vấn của bạn trên dữ liệu của bạn. Nó sẽ được rõ ràng nếu bạn cần phải điều chỉnh các tỷ lệ.

Xét về kích thước các phần cứng cho một cụm từ đầu một số điều cần xem xét:

  • Tổng kích thước dữ liệu sẽ xác định số lượng đĩa bạn sẽ cần. HDFS có một chi phí lớn, do đó bạn sẽ cần rất nhiều đĩa.
  • Tỷ lệ tốc độ CPU thành đĩa phụ thuộc vào tỷ lệ giữa dữ liệu nóng (dữ liệu bạn đang làm việc) và dữ liệu lạnh (dữ liệu lưu trữ). Nếu bạn mới bắt đầu kho dữ liệu, bạn sẽ cần rất nhiều CPU vì tất cả dữ liệu sẽ mới và nóng. Mặt khác, hầu hết các đĩa vật lý chỉ có thể phân phối dữ liệu quá nhanh, do đó, tại một số điểm, nhiều CPU hơn không giúp được gì.
  • Tỷ lệ tốc độ CPU đến bộ nhớ phụ thuộc vào kích thước của tập hợp và kết hợp bạn muốn thực hiện và lượng dữ liệu (nóng) bạn muốn lưu vào bộ nhớ cache. Hiện tại, Presto yêu cầu kết quả tổng hợp cuối cùng và bảng băm để tham gia phù hợp với bộ nhớ trên một máy tính duy nhất (chúng tôi đang tích cực làm việc để loại bỏ các hạn chế này). Nếu bạn có số lượng bộ nhớ lớn hơn, hệ điều hành sẽ lưu các trang đĩa để cải thiện đáng kể hiệu suất của các truy vấn.

Tại Facebook, chúng tôi chạy quá trình Presto của chúng tôi như sau:

  • Chúng tôi chạy JVM của chúng tôi với một đống 16 gigabyte rời ký ức rõ ràng nhất về bộ đệm OS
  • Trên máy chúng tôi chạy Presto chúng tôi don Không chạy các tác vụ MapReduce
  • Hầu hết các máy Presto chúng tôi có 16 lõi thực và chúng tôi sử dụng ái lực bộ vi xử lý (sớm là nhóm) để giới hạn Presto thành 12 lõi (vì vậy máy khách DFS và các thứ khác có thể chạy dễ dàng)
  • Mo st các máy chủ của chúng tôi là trên 10 mạng gigabit, nhưng chúng tôi có một cụm crufty cũ lớn sử dụng 1 gigabit (mà hoạt động tốt)
  • Chúng tôi sử dụng cấu hình tương tự cho các điều phối viên và người lao động
+0

Cảm ơn bạn đã trả lời chi tiết, nhanh chóng! – benvolioT

+0

Cảm ơn bạn đã phản hồi tuyệt vời – Pradatta

Các vấn đề liên quan