A BAS CRON !
VIVE OOZIE !
“possibly the most underrated
component of the Hadoop stack”
david.morel@booking.com
Fast forward
• Problèmes de cron
• Rappel archi Hadoop/YARN
• Archi oozie
• Workflow
• Coordinator
• Exécution
• Contrôle,...
Crond
• Adapté aux tâches locales
• Mal à l’aise pour le reste
• Scalabilité horizontale ?
• Dépendances ?
• Contrôle, rer...
Hadoop : YARN
Oozie
• 1 serveur (ou 2, pour HA)
• 1 backend DB (agnostique)
• 1 cluster Hadoop (HDFS + YARN)
• C’est tout !
Workflow intro
• L’unité de base
• Définition en XML
• + job.properties
• + options (jars, lib, etc)
• Upload sur HDFS
• o...
Workflows, DAG
Workflow guts
• “ligne de commande de cron”
• DAG
• Actions externes / internes
• Decision nodes
• Forks
• Communication e...
Coordinator secrets
• “spécification de fréquence de cron”
• Parent du workflow
• Le maître du temps
• Abstraction : “nomi...
Exécution
• Fire and forget
• Worker map + child
• Worker call home
• Callbacks optionnels
• Flags sur HDFS
Pros & C(r)ons
• C’est nul comme jeu de mots
• Parallélisme, retries
• La précieuse abstraction du temps
• Contrainte : id...
Perl & Oozie
• REST : listen, parse, introspect
• Monitor, submit, start, stop, query
• Shell action hors JVM
• STDIN/OUT/...
Perl & Oozie
• @booking.com
Merci !
• Questions ?
Prochain SlideShare
Chargement dans…5
×

A bas Cron ! Vive Oozie !

1 381 vues

Publié le

Présentation aux Journées Perl 2015. Oozie est le moteur de workflow de la pile Hadoop, et l'un de ses composants les plus méconnus.

Publié dans : Logiciels
  • Soyez le premier à commenter

  • Soyez le premier à aimer ceci

A bas Cron ! Vive Oozie !

  1. 1. A BAS CRON ! VIVE OOZIE ! “possibly the most underrated component of the Hadoop stack” david.morel@booking.com
  2. 2. Fast forward • Problèmes de cron • Rappel archi Hadoop/YARN • Archi oozie • Workflow • Coordinator • Exécution • Contrôle, SLA, etc • Perl ?
  3. 3. Crond • Adapté aux tâches locales • Mal à l’aise pour le reste • Scalabilité horizontale ? • Dépendances ? • Contrôle, reruns, etc • Que des soucis !
  4. 4. Hadoop : YARN
  5. 5. Oozie • 1 serveur (ou 2, pour HA) • 1 backend DB (agnostique) • 1 cluster Hadoop (HDFS + YARN) • C’est tout !
  6. 6. Workflow intro • L’unité de base • Définition en XML • + job.properties • + options (jars, lib, etc) • Upload sur HDFS • oozie job -run -config job.properties • Done !
  7. 7. Workflows, DAG
  8. 8. Workflow guts • “ligne de commande de cron” • DAG • Actions externes / internes • Decision nodes • Forks • Communication entre étapes • Exécution distribuée, tolérance aux pannes
  9. 9. Coordinator secrets • “spécification de fréquence de cron” • Parent du workflow • Le maître du temps • Abstraction : “nominal time” • Du workflow aux “coordinator actions” • Le maître des dépendances • UTC !
  10. 10. Exécution • Fire and forget • Worker map + child • Worker call home • Callbacks optionnels • Flags sur HDFS
  11. 11. Pros & C(r)ons • C’est nul comme jeu de mots • Parallélisme, retries • La précieuse abstraction du temps • Contrainte : idempotency • SLA • UTC • => WTH ?
  12. 12. Perl & Oozie • REST : listen, parse, introspect • Monitor, submit, start, stop, query • Shell action hors JVM • STDIN/OUT/ERR capturés • Use WebHDFS • TRANSFORM dans Hive
  13. 13. Perl & Oozie • @booking.com
  14. 14. Merci ! • Questions ?

×