Tôi đang có một công việc MR trong đó giai đoạn phát ngẫu nhiên kéo dài quá lâu.Giai đoạn xáo trộn kéo dài quá lâu Hadoop
Lúc đầu, tôi nghĩ rằng đó là vì tôi đang phát ra rất nhiều dữ liệu từ Mapper (khoảng 5GB). Sau đó, tôi đã khắc phục vấn đề đó bằng cách thêm một Combiner, do đó phát ra ít dữ liệu hơn cho Reducer. Sau giai đoạn xáo trộn đó không rút ngắn, như tôi đã nghĩ.
Ý tưởng tiếp theo của tôi là loại bỏ Combiner, bằng cách kết hợp trong chính Mapper. Ý tưởng đó tôi nhận được từ here, nơi mà nó nói rằng dữ liệu cần phải được tuần tự hóa/deserialized để sử dụng Combiner. Thật không may là giai đoạn shuffle vẫn như cũ.
Suy nghĩ duy nhất của tôi là có thể vì tôi đang sử dụng một Reducer duy nhất. Nhưng đây không phải là một trường hợp vì tôi không phát ra nhiều dữ liệu khi sử dụng Combiner hoặc kết hợp trong Mapper.
Dưới đây là số liệu thống kê của tôi:
Dưới đây là tất cả các quầy cho (sợi) việc Hadoop của tôi:
Tôi cũng nên nói thêm rằng điều này được chạy trên một cụm nhỏ gồm 4 máy. Mỗi bộ nhớ RAM có dung lượng 8GB (2GB) và số lõi ảo là 12 (2 lần đặt trước).
Đây là những máy ảo. Lúc đầu, tất cả chúng đều trên một đơn vị, nhưng sau đó tôi tách chúng 2-2 trên hai đơn vị. Vì vậy, họ đã chia sẻ HDD lúc đầu, bây giờ có hai máy trên mỗi đĩa. Giữa chúng là một mạng gigabit.
Và đây có nhiều số liệu thống kê:
Tổng số bộ nhớ được chiếm
CPU là liên tục chịu áp lực trong khi công việc đang chạy (hình ảnh cho thấy CPU cho hai chạy liên tiếp của cùng một công việc)
câu hỏi của tôi là - tại sao là thời gian xáo trộn quá lớn và ho w để sửa chữa nó? Tôi cũng không hiểu làm thế nào không có tăng tốc mặc dù tôi đã giảm đáng kể lượng dữ liệu phát ra từ Mapper?
khó nói mà không nhận được nhiều con số hơn: kích thước chính xác của đầu ra bản đồ là bao nhiêu? liên kết mạng giữa máy chủ (băng thông) của bạn lớn đến mức nào? bạn có thể sử dụng nhiều hơn một bộ giảm tốc (do đó tránh được tắc nghẽn băng thông có thể) không? –
Cảm ơn bạn đã bình luận của bạn, tôi đã chỉnh sửa câu hỏi của tôi. Tôi thực sự không biết tại sao nó lại quá chậm. Tôi chủ yếu phát triển trên một máy tính duy nhất, vì vậy tôi đang tìm hiểu về việc chạy các công việc trên cụm, nhưng tôi không thấy lý do nào cho vấn đề này. Nó sẽ rất khó (nếu không phải là không thể) để chia nhỏ, nhưng vấn đề là, tôi thấy không có việc làm cho nó. – Marko
khó để nói lý do tại sao phải mất quá lâu cho 5mb, bất cứ điều gì bất thường bạn có thể thấy trong ambari? giống như một CPU chốt? bạn có thể đi đến các bản ghi của container giảm và tìm thấy bất cứ điều gì? –