Les modes de fonctionnement de Hadoop

Les modes de fonctionnement de Hadoop sont en nombre de trois :

  • le mode local (local mode) ;
  • le mode pseudo-distribué (pseudo-distributed mode) ;
  • le mode totalement distribué (fully-distributed mode).

Le mode local

En mode local, Hadoop fonctionne sur une seule station de travail et les 5 daemons de Hadoop (NameNode, SecondaryNameNode, DataNode, JobTracker et TaskTracker) s’exécutent tous dans la même JVM. De plus, le système de fichier utilisé est celui du système d’exploitation et non HDFS. Le mode local mode est rarement utilisé, sauf pour tester Hadoop pour la première fois ou déboguer un programme.

Le mode pseudo-distribué

En mode pseudo-distribué, Hadoop fonctionne sur une seule station de travail, mais chacun des 5 deamons s’exécute dans sa propre JVM ainsi que le système de fichier utilisé est HDFS. Le mode pseudo-distribué est souvent utilisé par les développeurs Haddop, parce qu’il développe et teste des jobs simulant un vrai cluster Hadoop.

Le mode totalement distribué

Le mode totalement distribué correspond au fonctionnement d’un vrai cluster Hadoop, avec plusieurs stations de travail interconnectées en réseau. chacun des 5 deamons s’exécute dans sa propre JVM ainsi que le système de fichier utilisé est HDFS.

Le mode pseudo-distribué est celui utilisé dans ce cours.

 

Présentation de Hadoop

Qu’est ce qu’Hadoop ?

Hadoop est un framework 100% open source, écrit en Java et géré par la fondation Apache. Il a été conçu pour répondre aux besoins du Big Data, tant au plan technique qu’économique. Hadoop est capable de stocker et traiter de manière efficace un grand nombre de donnés, en reliant plusieurs serveurs banalisés entre eux pour travailler en parallèle.

Hadoop offre une grande flexibilité. Ses performances évoluent de manière quasi linéaire en fonction du nombre de machines constituant le cluster. Plus le nombre de nœuds est élevé moins le temps d’exécution des jobs est court!

Hadoop fonctionne sur le principe des grilles de calcul consistant à répartir l’exécution d’un traitement intensif de données sur plusieurs noeuds ou grappes de serveurs.

Java est le langage de préférence pour écrire des programme Hadoop natifs. Néanmoins, il est possible d’utiliser python, bash, ruby, perl …

hadoop

Le nom “Hadoop” était initialement celui d’un éléphant en peluche, jouet préféré du fils de Doug Cutting.

En quoi Hadoop est-il différent des anciennes techniques ?

  • Économique : Hadoop permet aux entreprises de libérer toute la valeur de leurs données en utilisant des serveurs peu onéreux.
  • Flexible : Hadoop permet de stocker de manière extensible tous types de données. Les données peuvent être non structurées et ne suivre aucun schéma structurées  (PDF, MP3, base de données, etc.) grâce à son système de fichier HTDFS « Hadoop Distributed File System ». Les utilisateurs peuvent transférer leurs données vers Hadoop sans avoir besoin de les reformater.
  • Tolère les pannes: les données sont répliquées à travers le cluster afin qu’elles soient facilement récupérables suite à une défaillance du disque, du nœud ou du bloc.
  • Etc,…

SGBD vs Hadoop

Les systèmes de gestion de bases de données (SGBD) traditionnels sont conçus pour fonctionner en mode transactionnel, ils ne sont en aucun cas capables, techniquement et/ou financièrement, de traiter de manière séquentielle des volumes de données se chiffrant au minimum en dizaines ou centaines de To.

Les distributions de Hadoop

Il existe plusieurs distributions de Hadoop, dont les plus connues sont celles de Cloudera, Hortonworks et MapR. Bien que dans le même temps, d’autres distributions Hadoop voient aussi le jour. Par exemple, il y a Pivotal HD de EMC Corporation ou IBM InfoSphere BigInSights. Avec Amazon Elastic MapReduce (EMR), Amazon offre même une solution hébergée, pré-configurée dans son cloud.

Ces distributions comprennent des produits gratuits, qui offrent les fonctionnalités de base de Hadoop, et des options ou produits payants, qui offrent des fonctionnalités avancées.

Qui utilise déjà Hadoop ?

Hadoop est utilisé par des entreprises ayant de très fortes volumétries de données à traiter. Parmi elles, on trouve notamment des géants du web comme Facebook, Twitter, LinkedIn, ou encore les géants de l’e-commerce à l’instar de eBay et Amazon.

Vous trouverez sur cette page, la liste des entreprises et institutions publiques qui utilisent Hadoop

Quels sont les domaines d’application d’Hadoop ?

Toutes les sociétés et tous les secteurs d’activités sont concernés : la vente/commerce, distribution, transports, les administrations et le secteur public, les domaines scientifiques et médicaux, la banque/assurance, les télécoms, les usines de production.

  • Dans le domaine de la gestion de clientèle (Anticipation des désabonnement)
  • Dans le domaine de la publicité (Ciblage de la clientèle)
  • Dans le domaine de la lutte contre la fraude
  • etc,…
Les modes de fonctionnement de Hadoop >>

Big Data

Introduction à Big Data

On assiste depuis quelques années à une explosion de données : essor de l’e-commerce, démocratisation de la connectivité mobile, multiplication des objets connectés… Résultat : on collecte des quantités gigantesques de données. Twitter, pour ne prendre que cet exemple, doit gérer 500 millions de nouveaux tweets quotidiennement.

Cela pose un défi de taille : il ne s’agit plus seulement de collecter et stocker ces volumes de données, il s’agit également de les traiter et les analyser en temps réel. Or, les outils classiques de gestion de données sont devenus inadaptés à leur traitement, soit pour des raisons techniques, soit pour des raisons économiques, soit pour les deux.

De ce constat est né le Big Data et aussi de nouveaux outils ont été développé pour palier aux problème de la collecte, du stockage et du traitement de gros volumes de données. Parmi eux, Hadoop.

Qu’est ce que Big Data ?

Big data fait référence à des ensembles de données qui, en raison de leurs Variété (Variety en anglais), Vitesse (Velocity en anglais) ou Volume ne peuvent pas être facilement stockées, manipulées ou analysées avec les méthodes traditionnelles, telles que les tableurs , les bases de données relationnelles ou les outils statistiques ordinaires.

  • Variété  :  La nature des données (Données structurées, semi-structurées ou non structurées)
  • Vitesse  :  La vitesse  à laquelle les données sont produites et évoluent dans le temps.
  • Volume :  Le volume  de données à collecter, stocker et traiter.

Mais d’ou viennent les données?

Nous distinguons deux types de sources de données pour les Big Data, données générées par les humains (photos, vidéos, audio, tweets,…) et d’autres, générées par les machines en communicant entre elles “M to M data”  (GPS, Satellites, Web Crawlers – robots d’indexation,… ).