He estado mirando MapReduce por un tiempo, y parece ser una muy buena forma de implementar informática distribuida tolerante a fallas. Leí muchos artículos y artículos sobre ese tema, instalé Hadoop en una serie de máquinas virtuales e hice algunas pruebas muy interesantes. Realmente creo que entiendo los pasos de Mapa y Reducir.¿Cómo es MapReduce un buen método para analizar los registros del servidor http?
Pero aquí está mi problema: No puedo entender cómo puede ayudar con el análisis de registros del servidor http.
Tengo entendido que las grandes empresas (Facebook, por ejemplo) usan MapReduce con el fin de calcular sus registros http con el fin de acelerar el proceso de extracción de estadísticas de audiencia de estos. La empresa para la que trabajo, aunque es más pequeña que Facebook, tiene un gran volumen de registros web para calcular todos los días (100Go crece entre 5 y 10 por ciento cada mes). En este momento procesamos estos registros en un único servidor, y funciona bien. Pero la distribución de los trabajos de computación al instante viene a la mente como una optimización que pronto será útil.
Aquí están las preguntas que no puedo responder en este momento, cualquier ayuda sería muy apreciada:
- ¿Puede el concepto de MapReduce realmente pueden aplicar al análisis weblogs?
- ¿MapReduce es la manera más inteligente de hacerlo?
- ¿Cómo dividiría los archivos de registro web entre las distintas instancias informáticas?
Gracias.
Nicolas
En primer lugar, perdón por el retraso. Muchas gracias por su respuesta de muy alta calidad. Esto ayuda mucho ! – Nicolas
Como alternativa a dividir los archivos de registro, puede paralelizar su secuencia de comandos "análisis de registro" en n núcleos. Y si tuviera que ejecutar esta secuencia de comandos en un clúster virtualizado (por ejemplo, 96 núcleos), su código se ejecutará perfectamente sin ningún cambio. Necesita identificar y aislar la unidad de trabajo "más pequeña" que es libre de efectos secundarios y trata con datos inmutables. Esto puede requerir que rediseñe el código, posiblemente. Además, Hadoop es comparativamente más difícil de instalar (y donde yo vivo, la experiencia es más difícil de encontrar). –