Curso de Big Data en AWS

Crear tu primer cluster de AWS EMR

Curso de Big Data en AWS

Contenido del curso

Extracción de información

Transformación de Información

Crear tu primer cluster de AWS EMR

Resumen

Aprende a crear un clúster de AWS EMR desde cero con seguridad, eficiencia y control. Aquí verás cómo elegir la versión adecuada, configurar steps con argumentos, dimensionar instancias y activar opciones de operación como CloudWatch, KMS y security groups. Todo con un enfoque práctico y claro.

¿Cómo configurar la versión y aplicaciones en AWS EMR?

Seleccionar correctamente la versión define qué herramientas tendrás disponibles. La elección impacta directamente tu flujo de trabajo y compatibilidad con librerías.

¿Qué versión elegir y por qué?

  • Revisa cambios entre versiones: herramientas incluidas y retiradas.
  • Ejemplo: versión reciente con TensorFlow 12.0 y Zeppelin 0.8.
  • Ejemplo: en 5.4 hay Zeppelin 7.0 y no está TensorFlow.
  • Para el ejercicio: EMR 5.20 con Hadoop, Spark 2.4 y Zeppelin.
  • Criterio clave: elige según las herramientas que necesites.

¿Cómo cargar configuraciones y metadatos?

  • Activa metadatos para tablas de Spark.
  • Define configuración de software en JSON.
  • Incluye acciones de bootstrap para personalizar el arranque.

¿Cómo definir steps y argumentos?

  • Agrega steps de forma gráfica.
  • Especifica argumentos: usa etiquetas como PRD o STG para ambientes.
  • Indica la ubicación del script de la aplicación.
  • Manejo de finalización del step:
    • Terminar el clúster si falla.
    • Cancelar y esperar acción manual.
    • Continuar con el siguiente step si falla.

¿Cómo dimensionar instancias y auto escalamiento?

La topología y el escalado determinan costo y rendimiento. Configura nodos, tipos de instancia y reglas de crecimiento con intención.

¿Qué tipos de nodos e instancias usar?

  • Modos de provisión: instancias uniformes o por flotas.
  • Nodos: master, core y task.
  • Ajusta el tipo de instancia desde la interfaz.
  • Ejemplo de laboratorio: 1 master y 2 core con M1 medium. Sin nodos task.
  • Estrategia de compra: bajo demanda o spot.

¿Cómo configurar auto escalamiento por memoria?

  • Límites: mínimo 2 nodos y máximo 10 nodos.
  • Escalado hacia arriba: cuando memoria disponible < 30%, agrega 1 o 2 instancias por periodo.
  • Escalado hacia abajo: cuando memoria disponible > 75%, elimina 2 instancias.
  • Regla fija: nunca bajar del mínimo configurado.
  • Nota práctica: se puede dejar sin configurar y operar bajo demanda.

¿Dónde guardar logs y cómo etiquetar?

  • Logs: se crea una carpeta por defecto y otra de Elastic Map Reduce dentro.
  • Agrega etiquetas para organizar recursos.
  • Define acciones de arranque adicionales si lo requieres.

¿Cómo asegurar, lanzar y operar el clúster?

Antes de crear, define el acceso, permisos y seguridad. Luego monitorea y itera desde la consola con total visibilidad.

¿Cómo acceder por SSH y web?

  • Llave de acceso: selecciona una para habilitar conexión SSH.
  • Sin llave: el clúster ejecuta trabajos, pero no podrás hacer SSH.
  • Acceso a Zeppelin: habilita conexión web en el security group.

¿Qué permisos, cifrado y seguridad aplicar?

  • Permisos: se crean tres roles predeterminados con lo necesario para EMR.
  • Cifrado: integración con KMS disponible.
  • Grupos de seguridad de EC2: personaliza puertos para instancias master y core.

¿Cómo monitorear, depurar y replicar?

  • Vista general: conexiones, ID de clúster, versión, roles y estado de nodos.
  • Red: subred y zona de disponibilidad.
  • Aplicaciones: lista de componentes instalados.
  • Monitorización: métricas con CloudWatch a nivel de hardware.
  • Escala en caliente: agrega o quita instancias desde la consola.
  • Eventos: historial útil para detectar errores y hacer debugging.
  • Steps: existe un step por defecto; puedes añadir más en ejecución.
  • Cambios: aplica nuevas configuraciones agregando un JSON y acciones de arranque.
  • Reproducibilidad: exporta el comando para ejecutar desde la CLI y recrear el clúster.

¿Tienes dudas sobre versiones, steps o auto escalamiento en EMR? Cuéntame en los comentarios y trabajamos una solución juntos.