5

Tôi đã nghe cụm từ "cụm Hadoop", nhưng có vẻ như trái ngược với những gì tôi hiểu về "lưới" và "cụm".Không phải là Hadoop nhiều lưới hơn là một cụm sao?

My hiểu là một mạng lưới là một hệ thống phân phối gồm 2+ máy tính (nút) mà tất cả đều chia sẻ tài nguyên máy tính với nhau để giải quyết vấn đề cùng. Ergo, nếu bạn đang cố gắng thực hiện một số loại máy tính khoa học nặng nề, crunching số, bạn sẽ tạo ra một mạng lưới các máy móc để cộng tác trên cùng một vấn đề.

My hiểu của một cụm là nó là một hệ thống phân phối gồm 2+ máy tính đều làm việc một cách độc lập để giải quyết khác nhau, vấn đề nhỏ hơn. Do đó bạn thường đặt một cụm đằng sau một cân bằng tải và để cho mỗi nút giải quyết một vấn đề nhỏ khi cân bằng tải gán nó một. Vì vậy, nếu hiểu biết của tôi là chính xác, sau đó bạn sử dụng lưới để giải quyết một số lượng nhỏ công việc khổng lồ (tính toán nặng), và các cụm để giải quyết số lượng lớn công việc nhỏ (tính toán ánh sáng).

Vì vậy, trước tiên, nếu hiểu biết của tôi về lưới và cụm không chính xác, hãy bắt đầu bằng cách sửa tôi!

Giả sử tôi ít nhiều chính xác, thì tại sao chúng tôi có các cụm Hadoop ? Nếu mục đích của Hadoop là vấn đề Big Data (một số vấn đề tính toán nặng) và sử dụng rất nhiều phần cứng hàng hóa để tạo nhiều nút có khả năng cộng tác với những người khác để giải quyết cùng một vấn đề, không phải là một lưới ?

Có chính xác hơn khi nói rằng chúng tôi có Hadoop lưới? Tại sao hay tại sao không? Cảm ơn trước!

+0

Wikipedia có một số [ví dụ về tính toán lưới] (https://en.wikipedia.org/wiki/Grid_computing) có thể làm rõ sự khác biệt. – kjw0188

Trả lời

9

Hiểu biết của bạn là chính xác một phần. Tôi muốn thêm vào một vài thứ có lẽ sẽ làm rõ không khí. Chính xác là Hadoop được sử dụng để giải quyết các vấn đề BigData. Nhưng nó làm như vậy bằng cách chuyển đổi 1 nhiệm vụ lớn thành không. các nhiệm vụ nhỏ hơn và mỗi nhiệm vụ nhỏ hơn này được giải quyết trên các máy khác nhau (các nút) trong sự cô lập. Các nút không giao tiếp với nhau và chúng không chia sẻ bất kỳ tài nguyên nào. Mỗi máy có bộ nhớ riêng, CPU và đĩa được sử dụng trong quá trình xử lý và không có gì liên quan đến tài nguyên của các máy khác. Vì vậy, nếu bạn phân tích nó bằng kính hiển vi, bạn sẽ thấy rằng trong khi bạn đang cố gắng giải quyết vấn đề lớn "1", cuối cùng bạn sẽ xử lý "n" các vấn đề cô lập nhỏ hơn đối diện với tính toán lưới trong đó tất cả các nút cố gắng giải quyết cùng một vấn đề.

Một khía cạnh quan trọng khác là trong lưới, tương tác của bạn là với toàn bộ hệ thống và không phải với bất kỳ nút nào cụ thể, không phải trường hợp bạn gửi công việc cho cụm hadoop để xử lý. Bạn gửi công việc của bạn đến nút "chủ" và không phải lo lắng về "nô lệ" hoặc phân phối nhiệm vụ, v.v. Khi công việc của bạn đã được gửi đến nút chính, nó sẽ tự động được chia thành "n" công việc nhỏ hơn và master sẽ tự động bắt đầu quá trình trên các hệ thống khác nhau "n".

Hadoop thực sự đại diện cho mô hình "Máy tính phân tán" và bạn có thể nghĩ đó là một tập con của tính toán lưới.

Một điều nữa. Bạn đã chỉ định về "cân bằng tải" trong câu hỏi của mình.Bạn thực sự có thể hình dung nó khi chơi với hadoop. Khi bạn bắt đầu xử lý một công việc trên một cụm hadoop tất cả các công việc nhỏ hơn "n" ('coz phân chia nhiệm vụ như được chỉ định trước đó) được xử lý theo kiểu cân bằng. Cân bằng ở đây có nghĩa là tất cả các nút nô lệ nhận được số lượng dữ liệu bằng nhau (xấp xỉ nếu không hoàn toàn) để xử lý số lượng tài nguyên bằng nhau (lý tưởng).

Hy vọng điều này sẽ trả lời câu hỏi của bạn.

+0

Cảm ơn @Tariq (+1) - câu trả lời tuyệt vời, tuy nhiên nó khiến tôi bối rối trong một sự tôn trọng! Đoạn thứ 3 của bạn là một chút * khó hiểu: bạn có nói rằng Hadoop * giống như * một lưới theo nghĩa là bạn gửi 1 công việc cho một thầy, và chỉ tương tác với chủ nhân đó? Hay bạn đang nói rằng Hadoop * không giống như * một lưới điện, và rằng bạn phải phân hủy một công việc thành các đơn vị nhỏ hơn, và gửi mỗi đơn vị cho một nô lệ? Cảm ơn bạn đã làm rõ ở đây! –

+1

Bạn đang chào mừng TM và xin lỗi vì sự nhầm lẫn. Bởi vì tôi có nghĩa là trong một Grid bạn gửi công việc cho hệ thống như một toàn thể và không phải với bất kỳ nút cụ thể (s). Mặt khác, trong môi trường Compributed Computing, bạn chỉ cần tiếp tục kích hoạt các yêu cầu đến các nút cụ thể mà nó là nút chủ trong trường hợp Hadoop. HTH – Tariq

+0

Cảm ơn bạn một lần nữa @Tariq, nhưng vẫn không chắc chắn: một trong hai mô hình nào mà Hadoop phù hợp với?!? –

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