A bas Cron ! Vive Oozie !

Post on 21-Mar-2017

1.330 views 3 download

Transcript of A bas Cron ! Vive Oozie !

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, SLA, etc•Perl ?

Crond•Adapté aux tâches locales•Mal à l’aise pour le reste•Scalabilité horizontale ?•Dépendances ?•Contrôle, reruns, etc•Que des soucis !

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•oozie job -run -config job.properties•Done !

Workflows, DAG

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

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 !

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 : idempotency•SLA•UTC•=> WTH ?

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

Perl & Oozie•@booking.com

Merci !

•Questions ?