Tôi đã xem xét MapReduce một thời gian, và nó có vẻ là một cách rất tốt để thực hiện tính toán phân tán chịu lỗi. Tôi đã đọc rất nhiều bài báo và bài viết về chủ đề đó, cài đặt Hadoop trên một loạt các máy ảo và đã thực hiện một số thử nghiệm rất thú vị. Tôi thực sự nghĩ rằng tôi hiểu các bước Bản đồ và Giảm.MapReduce là phương pháp tốt để phân tích nhật ký máy chủ http như thế nào?
Nhưng đây là vấn đề của tôi: Tôi không thể tìm ra cách nó có thể giúp phân tích nhật ký máy chủ http.
Hiểu biết của tôi là các công ty lớn (ví dụ trên Facebook) sử dụng MapReduce cho mục đích tính toán nhật ký http của họ để tăng tốc quá trình trích xuất số liệu thống kê của khán giả. Công ty tôi làm việc cho, trong khi nhỏ hơn Facebook, có một khối lượng lớn nhật ký web để tính toán hàng ngày (100Go tăng từ 5 đến 10 phần trăm mỗi tháng). Ngay bây giờ chúng tôi xử lý các bản ghi này trên một máy chủ duy nhất và nó hoạt động tốt. Nhưng phân phối các công việc tính toán ngay lập tức trở thành tâm điểm như là một tối ưu hóa hữu ích sớm.
Dưới đây là những câu hỏi tôi không thể trả lời ngay bây giờ, bất kỳ trợ giúp sẽ được đánh giá cao:
- thể khái niệm MapReduce thực sự được áp dụng để phân tích weblog?
- MapReduce là cách thông minh nhất để làm điều đó?
- Bạn sẽ chia các tệp nhật ký web giữa các phiên bản tính toán khác nhau như thế nào?
Cảm ơn bạn.
Nicolas
Trước hết, xin lỗi vì sự chậm trễ. Cảm ơn rất nhiều vì câu trả lời rất chất lượng của bạn. Nó giúp rất nhiều ! – Nicolas
Để thay thế cho việc tách các tệp nhật ký, bạn có thể song song tập lệnh "phân tích nhật ký" của mình trên n lõi. Và nếu bạn chạy tập lệnh này trên một cụm ảo hóa (có nghĩa là 96 lõi), mã của bạn sẽ chạy hoàn hảo mà không có bất kỳ thay đổi nào. Bạn cần xác định và tách biệt đơn vị công việc "nhỏ nhất" có tác dụng phụ miễn phí và xử lý dữ liệu bất biến. Điều này có thể yêu cầu bạn phải thiết kế lại mã, có thể. Bên cạnh đó Hadoop tương đối khó thiết lập hơn (và nơi tôi sống, chuyên môn khó tìm hơn). –