2009-06-10 17 views
8

Chúng tôi sẽ mua một số phần cứng mới để sử dụng chỉ cho một cụm Hadoop và chúng tôi đang mắc kẹt vào những gì chúng ta nên mua. Giả sử chúng ta có ngân sách $ 5k nên chúng ta mua hai máy siêu đẹp ở mức $ 2500/mỗi, bốn máy khoảng $ 1200/mỗi hoặc tám vào khoảng $ 600 mỗi cái? Hadoop có hoạt động tốt hơn với các máy chậm hơn hoặc ít máy nhanh hơn nhiều không? Hoặc, giống như hầu hết mọi thứ "nó phụ thuộc"? :-)Cụm Hadoop. 2 máy nhanh, 4 trung bình, 8 máy chậm hơn?

+0

Hãy thử http://www.serverfault.com – TheTXI

+4

Đây không phải là một vấn đề quản trị hệ thống. Các tài nguyên có sẵn cho Hadoop vốn có trong thiết kế của cụm Hadoop. – skaffman

Trả lời

10

Nói chung, bạn nên sử dụng Hadoop để nhận thêm một số máy bổ sung ít lành mạnh hơn. Bạn hầu như không bao giờ nhìn thấy các bảng dữ liệu với hơn 16GB ram và CPU quad-core kép, và thường chúng nhỏ hơn thế.

Bạn luôn phải chạy một dưới dạng nút tên (chính), và thường bạn cũng không chạy một nút dữ liệu (công nhân/nô lệ) trên cùng một hộp, mặc dù bạn có thể do cụm của bạn nhỏ. Giả sử bạn không, mặc dù, nhận được 2 máy sẽ để lại cho bạn chỉ có 1 nút công nhân, mà phần nào đánh bại mục đích. (Không hoàn toàn, bởi vì bạn vẫn có thể chạy 4-8 công việc song song với nô lệ, nhưng vẫn còn.)

Đồng thời, bạn không muốn có một cụm 1000 486. Nếu ngân sách của bạn là 5 nghìn đô la, tôi sẽ tạo ra số dư và thực hiện 4 máy 1200 đô la. Những người sẽ cung cấp một cơ sở phong nha về hiệu suất cá nhân, bạn sẽ có 3 datanodes để phân phối công việc, và bạn sẽ có chỗ để phát triển cụm của bạn nếu bạn cần.

Những điều cần lưu ý: bạn sẽ muốn chạy nhiều bản đồ hoặc giảm tác vụ cho mỗi nút dữ liệu và điều đó có nghĩa là nhiều JVM chạy đồng thời. Tôi sẽ cố gắng thu được ít nhất 4GB và tốt nhất là 8GB ram. CPU ít quan trọng vì hầu hết các công việc MR đều bị ràng buộc bởi IO. Bạn có thể có thể có được một máy như thế này cho mục tiêu giá 1200 đô la của bạn, vì vậy đó là phiếu bầu của tôi.

6

Tóm lại, bạn muốn tối đa số lượng lõi bộ xử lý và đĩa. Bạn có thể hy sinh độ tin cậy và chất lượng, nhưng không có phần cứng rẻ nhất ngoài kia, vì bạn sẽ có quá nhiều vấn đề về độ tin cậy.

Chúng tôi đã đi với máy chủ Dell 4 lõi dell 2xCPU, vì vậy 8 lõi mỗi hộp. Bộ nhớ 16GB mỗi hộp, là 2GB mỗi lõi, một chút thấp khi bạn cần bộ nhớ cho cả nhiệm vụ của bạn và cho bộ đệm đĩa. Ổ cứng 5x500GB và tôi muốn chúng tôi sử dụng ổ đĩa terabyte hoặc cao hơn thay thế.

Đối với các ổ đĩa, ý kiến ​​của tôi là mua các ổ đĩa rẻ hơn, chậm, không đáng tin cậy, có dung lượng cao như trái ngược với các ổ đĩa đắt tiền, nhanh hơn, nhỏ hơn, đáng tin cậy hơn. Nếu bạn đang gặp vấn đề với thông lượng đĩa, nhiều bộ nhớ hơn sẽ giúp đệm.

Đây có lẽ là cấu hình mạnh hơn bạn đang xem, nhưng tối đa lõi và ổ đĩa so với mua thêm hộp thường là lựa chọn tốt - chi phí năng lượng ít hơn, quản trị dễ dàng hơn và nhanh hơn đối với một số thao tác.

Các ổ đĩa khác có nghĩa là thông lượng đĩa đồng thời hơn trên mỗi lõi, do đó, có nhiều ổ đĩa như lõi là một điều tốt. Benchmarking dường như chỉ ra rằng cấu hình RAID chậm hơn so với cấu hình JBOD (chỉ gắn các ổ đĩa và có tải Hadoop trên chúng) và JBOD cũng đáng tin cậy hơn.

LAST! Hãy chắc chắn để có được bộ nhớ ECC. Hadoop đẩy terabyte dữ liệu thông qua bộ nhớ và một số người dùng đã nhận thấy rằng cấu hình bộ nhớ không phải ECC đôi khi có thể giới thiệu các lỗi bit đơn lẻ trong bộ dữ liệu có kích thước terabyte. Gỡ lỗi các lỗi này là một cơn ác mộng.

0

Tôi nghĩ rằng câu trả lời cũng phụ thuộc vào kỳ vọng của bạn về cụm phát triển và công nghệ mạng mà bạn đang sử dụng.Nếu bạn đồng ý với ethernet 1GB - thì loại máy ít quan trọng hơn. Đồng thời - nếu bạn muốn có 10GB ethernet - bạn nên chọn số lượng máy nhỏ hơn để giảm chi phí kết nối mạng.

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