Présentation du framework Apache Hadoop
- Enjeux du Big Data et apports du framework Hadoop.
- Présentation de l'architecture Hadoop.
- Description des principaux composants de la plateforme Hadoop.
- Présentation des distributions principales du marché on-premise et on-Cloud, et l’approche hybride.
- Avantages/inconvénients de la plateforme vs les solutions alternatives.
- Synthèse des différents composants natifs, complémentaires, et comparatif (Storm, Flink, Spark…).
Préparations et configuration du cluster Hadoop
- Principes de fonctionnement de Hadoop Distributed File System (HDFS).
- Principes de fonctionnement de MapReduce.
- Design "type" du cluster.
- Critères de choix du matériel.
Travaux pratiques
Configuration du cluster Hadoop.
Installation d'une plateforme Hadoop
- Type de déploiement.
- Installation d'Hadoop.
- Installation d'autres composants (Hive, Pig, HBase, Nifi...).
- Présentation et comparatif des piles logicielles historiques (HDP, HDF, CDH) et actuelles (CDP/CDSW…).
- Architectures Kappa, Lambda, SMACK (Spark, Mesos, Akka, Cassandra, Kafka).
Travaux pratiques
Installation d'une plateforme Hadoop et des composants principaux.
Gestion d'un cluster Hadoop
- Gestion des nœuds du cluster Hadoop.
- MapReduce V2 (Yarn, Resource Manager, Application Master, Node Manager…).
- Gestionnaires de ressources (Yarn vs Mesos).
- Gestion des tâches via les schedulers.
- Gestion des logs.
- Ordonnancement des traitements (Oozie...).
- Utiliser un manager.
Travaux pratiques
Lister les jobs, statut des queues, statut des jobs, gestion des tâches, accès à la Web UI.
Gestion des données dans HDFS
- Import de données externes (fichiers, bases de données relationnelles) vers HDFS.
- Manipulation des fichiers HDFS.
- Les formats de fichiers (SequenceFile, ORC, Parquet…), leurs usages et leurs relations avec les performances.
- Le stockage sous forme de base de données (structurée ou non) : NoSQL Hbase, SQL avec Impala, Hive, Hive LLAP…
Travaux pratiques
Importer des données externes avec Flume ou Nifi, importer des données des bases de données relationnelles avec Sqoop.
Configuration avancée
- Autorisations et sécurité : administration, authentification, autorisations, audit, protection des données.
- Les composants impliqués dans la sécurité : Ranger, Knox, Kerberos, KMS...
- NameNode high availability (MRV2/YARN).
Travaux pratiques
Configuration d'un service-level authentication (SLA) et d'un Access Control List (ACL).
Monitoring et optimisation/Tuning
- Monitoring (Ambari, Cloudera Manager, Ganglia...).
- Les types de benchmark (DFSIO, Teragen/TeraSort/TeraValidate) et les résultats disponibles en ligne (TPCx-HS, …)
- Comparatif entre MapReduce et TEZ.
- Exemples d’optimisation et d’outils d’aide à l’optimisation (CDP advisor…).
- Choix de la taille des blocs.
- Autres options de tuning (utilisation de la compression, configuration mémoire...).
Travaux pratiques
Paramétrer, lancer et analyser des Bench, Appréhender les commandes au fil de l'eau de monitoring et d'optimisation de cluster.
Les apports de Hadoop v3
- Les approches de type stockage Objet (Ozone).
- Erasure coding.
- Yarn Federation.
- Scénarios de migration, les aspects à prendre en compte, et quelques exemples (Hortonworks vers Cloudera...).