2009-04-02 17 views
5

¿Alguien ha jugado con MapReduce en AWS todavía? ¿Alguna idea? ¿Cómo está la implementación?MapReduce en AWS

+3

¿Cómo es que cuando hice preguntas como esta mueren en 4 segundos con 'no es una pregunta real' buls ** es – Letterman

Respuesta

15

Es fácil comenzar.

Aquí hay un FAQ: http://aws.amazon.com/elasticmapreduce/faqs/

y aquí está la guía de introducción: http://docs.amazonwebservices.com/ElasticMapReduce/latest/GettingStartedGuide/

Si usted tiene una cuenta EC2 ya, puede activar MapReduce y tienen una aplicación de ejemplo en funcionamiento en menos de 10 minutos utilizando la Consola de administración de AWS.

Hice la aplicación de ejemplo Word Count preempaquetada, que devuelve un recuento de cada palabra contenida en aproximadamente 20 MB de texto. Puede aprovisionar hasta 20 instancias para que se ejecuten simultáneamente, aunque acabo de usar 2 instancias y el trabajo se completó en aproximadamente 3 minutos.

El trabajo devuelve una lista alfabética de 300 KB de palabras y con qué frecuencia aparece cada palabra en el corpus de muestra.

Me gusta mucho que los trabajos de MapReduce se puedan escribir en mi elección de Perl, Python, Ruby, PHP, C++, R o Java. El proceso fue sencillo y directo, y la interfaz proporciona buenos comentarios sobre el estado de sus instancias y el flujo de trabajo.

Tenga en cuenta que, dado que AWS cobra una hora completa cuando se crea una instancia y las instancias de MapReduce finalizan automáticamente al final del flujo de trabajo, el costo de varios flujos de trabajo rápidos puede sumar rápidamente .

Por ejemplo, si creo un flujo de trabajo que usa 20 instancias y devuelve resultados en 15 minutos, y luego vuelvo a ejecutar el flujo de trabajo 3 veces más, se me cobrará 80 horas de tiempo de la máquina aunque solo tuvo 20 instancias ejecutándose durante 1 hora.

+0

Nuestras experiencias también, más el lento tiempo de arranque. Solo vale la pena si tiene trabajos que probablemente se ejecuten durante varias horas. –

+0

El clúster no se cierra automáticamente, puede dejarlo en ejecución. –

2

Es muy conveniente porque no tiene que administrar su propio clúster. Usted solo paga por uso, así que creo que es una buena idea si tiene un trabajo que necesita ejecutarse de vez en cuando. Estamos ejecutando Amazon MapReduce solo una vez al mes, por lo que, para nuestro uso, vale la pena.

Sin embargo, hasta donde puedo decir, un inconveniente de Amazon Map Reduce es que no se puede saber qué sistema operativo se está ejecutando, o incluso su versión. Esto me causó problemas al ejecutar el código de C++ compilado con g ++ 4.44, algunas de las imágenes del sistema operativo no son compatibles con la biblioteca cUrl, etc.

Si no necesita ninguna biblioteca especial para su caso de uso, yo diría que lo haga .

1

Buena respuesta de MB.

Para ser claros: puede ejecutar clústeres Hadoop de dos maneras: 1) Ejecútelo en instancias de Amazon EC2. Esto significa que tiene que instalarlo, configurarlo, finalizarlo, etc. 2) Ejecutarlo usando Elastic MapReduce, o EMR: esta es una forma automática de ejecutar un clúster de Hadoop en Amazon Web Services. Usted paga un poco más además del costo básico para EC2, pero no necesita administrar nada: solo cargue sus datos, luego su algoritmo, luego crunch. EMR cerrará las instancias automáticamente una vez que se terminen sus trabajos.

mejor,

Simone

3

También tienen la posibilidad de ejecutar MapReduce (Hadoop) en AWS con StarCluster.Esta herramienta configura el clúster por usted y tiene la ventaja de que no tiene que pagar el precio adicional de Amazon Elastic MapReduce (si desea reducir sus costos) y puede crear su propia imagen (AMI) con sus herramientas (esto podría ser bueno si la instalación de las herramientas no puede hacerse mediante un script de arranque).

1

EMR es la mejor manera de utilizar los recursos disponibles con un costo agregado muy bajo sobre EC2, sin embargo, ahorrará tiempo y será fácil. La mayor parte de la implementación de MR en la nube está utilizando este modelo, es decir, Apache Hadoop en Windows Azure, Mortar Data, etc. He trabajado tanto en Amazon EMR como en Apache Hadoop en Windows Azure y he encontrado un uso increíble.

0

estoy trabajando con AWS EMR. Es bastante limpio. Quiero decir, una vez que inicie su clúster e inicie sesión en su nodo maestro. Puedes jugar con la estructura de directorios de hadoop. Y haga cosas geniales. Si tiene una cuenta educativa, no se olvide de solicitar una beca de investigación. Otorgan 100 $ de créditos gratis para usar su AWS.

0

AWS EMR es una buena opción cuando utiliza el almacenamiento S3 para sus datos. Proporciona integración de fábrica con S3 para cargar archivos y publicar archivos procesados. En casos de uso en los que necesita ejecutar el trabajo a pedido, se le ahorra el costo de ejecutar todo el clúster todo el tiempo, esto realmente le ayuda a ahorrar en horas de instancias. Aprovechando la ventaja anterior, se puede usar AWS lambda para generar clusters controlados por eventos.