Hadoop est un framework 100% open source,écrit en Java et géré par la fondation Apache
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
Big Data : Hadoop
- Généralité
- Architecture HDFS
- Algorithme MapRduce
- Architecture YARN
- Hadoop v3.x vs Hadoopv2.x
Cours Big Data - Chap2 - GI3 - ENIS
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
CNES - CCT SIL - Traitement et Manipulation de la donnée à l‘aide des technologies Big Data
Présentation du 30 Juin 2017
Les CCT sont des espaces d'échanges techniques mis en place par le CNES il y a 20 ans, dans le but de réunir différents acteurs industriels et public pour s'enrichir mutuellement.
Big Data : Hadoop
- Généralité
- Architecture HDFS
- Algorithme MapRduce
- Architecture YARN
- Hadoop v3.x vs Hadoopv2.x
Cours Big Data - Chap2 - GI3 - ENIS
BigData_TP2: Design Patterns dans HadoopLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
BigData_TP1: Initiation à Hadoop et Map-ReduceLilia Sfaxi
Pour accéder aux fichiers nécessaires pour faire ce TP, visitez: https://drive.google.com/folderview?id=0Bz7DokLRQvx7M2JWZEt1VHdwSE0&usp=sharing
Pour plus de contenu, Visitez http://liliasfaxi.wix.com/liliasfaxi !
CNES - CCT SIL - Traitement et Manipulation de la donnée à l‘aide des technologies Big Data
Présentation du 30 Juin 2017
Les CCT sont des espaces d'échanges techniques mis en place par le CNES il y a 20 ans, dans le but de réunir différents acteurs industriels et public pour s'enrichir mutuellement.
Rapide introduction à Hadoop lors du lancement du Casablanca Hadoop & Big Data Meetup.
En partenariat avec Hortonworks
http://www.meetup.com/Casablanca-Hadoop-et-Big-Data-Meetup
Ce support explique les concepts de base de Big Data Processing. Elle aborde les parties suivantes :
Série de vidéos : https://www.youtube.com/watch?v=1JAljjxpm-Q
- Introduction au Big Data
- Système de stockage en Big Data
- Batch Processing et Stream Processing en Big Data
- Aperçu bref de l’écosystème de Hadoop
- Aperçu de l’écosystème des outils du Bid Gata
- Big data stream processing avec Kafka écosystème
- Architecture de Kafka (Brokers, Zookeeper, Procuder, Consumer, Kafka Streams, Connecteurs)
- Comment démarrer un cluster de brokers KAFKA
- Création et configuration des Topics
- Création d’un Java Kafka consumer
- Création d’un Java Kafka Produder
- Kafka Producer et Kafka Consumer dans une application basée sur Spring
- Kafka Streams
- Intégration de Kafka dans Spring Cloud.
Mot clés : Big data, Big Data Processing, Stream Processing, Kafka, Kafka Streams, Java, Spring
Bon apprentissage
Hadoop est devenu la plateforme de référence dans le monde Big Data.
Dans cette session, nous proposons un tour d’horizon de cet écosystème.
Nous vous présenterons les principaux composants de la plateforme, leurs fonctionnalités, leur maturité et les limites qu’ils permettent de dépasser.
Nous nous appuierons pour cela sur différents exemples de mise en œuvre afin d’illustrer la manière dont ils s’interconnectent pour former des solutions complètes de traitement des données.
Hug france - Administration Hadoop et retour d’expérience BI avec Impala, lim...Modern Data Stack France
Hadoop User Group du lundi 6 oct 2014:
Talk #3: Administration Hadoop et retour d’expérience BI avec Impala, limites et recommandations par Abed Ajraou et Cherif Tifrani de Solocal (Pages Jaunes).
Le stockage des données a toujours été une des problématiques les plus difficiles à maitriser. L’augmentation massive de la quantités de données disponibles, le phénomène Big Data, incite les sociétés à moderniser leur environnement décisionnel. Dès lors, beaucoup se posent la question du choix entre SQL et NoSQL. Microsoft, avec son offre SQL Server Parallel Data Warehouse 2012 réconcilie le meilleur des technologies actuelles. Un seul moto ‘Insights on Any Data of Any Size’
Distributed programing (hadoop && java) version finale.pptx
Hadoop
1. HADOOP POUR LES NULS
INSTALLATION CONFIGURATION
MAPPREDUCE
A.Stitou
Data Scientist, Project Manager
2. sommaire
• Introduction
• Appercu hadoop
• Caractéristique Hadoop
• Les distributions hadoop
• Les domaines d’application d’Hadoop
• Fonctionnement de hadoop
• HDFS Schéma de stockage des blocs
• HDFS: le namenode
• HDFS: le Datanode
• HDFS:Ecriture/Lecture d’un fichier
• HDFS: Tolérance aux fautes
• Fonctionnement d’hadoop, HDFS
• Hadoop Mapreduce
• Hadoop Mapreduce
• Développement de programmes MapReduce
• Installation
• Configuration
• Lancement de Hadoop
• Interface web d’hadoop
3. Introduction
• Hadoop est un framework 100% open source,écrit en Java et géré par la
fondation Apache
• 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 est utilisé par des entreprises ayant de très fortes volumétries de
données à traiter. Parmi elles, des géants du web comme Facebook,
Twitter, LinkedIn, ou encore les géants de l’e-commerce à l’instar de eBay
et Amazon
4. Appercu hadoop
• Plate forme Map-Reduce open-source écrite en java(Doug Cutting 2009
projet de la fondation apache
• Un systéme de fichier distribué (HDFS)
• Un ordonnenceur du programmes Map-Reduce
• Une API Map-Reduce en Java, Python C++,…
• Une interface utilisateur
• Une interface administrateur
5. Caractéristique Hadoop
• Economique : 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. grâce à son système de fichier HTDFS
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
6. Les distributions hadoop
Quatre solutions leaders sur le marché se partagent Hadoop : Cloudera,
Hortonworks, MapR, Amazon Elastic Map Reduce (EMR).
• Cloudera est une plateforme Big Data mature aujourd’hui. Elle est
composée de 2 éditions : l’offre express et l’offre entreprise (la version
commerciale). Son grand atout reste son interface unifiée de gestion.
• Hortonworks est la solution dont vous aurez besoin pour bénéficier d’un
support d’entreprise tout en bénéficiant d’une technologie 100% open
source.
• MapR : son système de fichiers MapR-Fdécuple la vitesse d’écriture et
de lecture des données.
• Amazon Elastic MapReduce (EMR), Amazon offre même une solution
hébergée, pré-configurée dans son cloud
7. Les domaines d’application d’Hadoop
• 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….
8. Fonctionnement de hadoop
• 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.
• Les machines sont regroupés par rack
9. Fonctionnement de hadoop
Hadoop est principalement constitué de deux composants :
• Le système de gestion de fichiers distribué, HDFS.
• Le framework MapReduce (version 1 Hadoop)/YARN (version 2 de Hadoop
L’écosystème Hadoop comprend de nombreux autres outils couvrant le
stockage et la répartition des données, les traitements distribués,
l’entrepôt de données, le workflow…….
10. HDFS
• Optimisé pour stocker de très gros fichiers
• Les fichiers sont divisés en blocs(taille 128 Mo)
• Une architecture maitre-esclave
• Le maitre HDFS:le Namenode
• Les esclaves de HDFS: les DataNoeuds
• Les blocks sont stockées sur datanodes
• Chaque block est répliqué sur différents datanodes(3 par défaut)
Conçu pour un mode 1 écriture pour plusieurs lectures
• Lecture séquentielle
• Écriture en mode appendy-only
12. HDFS: le namenode
• Responsable de la distribution et de la réplication des blocs
• Serveurs d’information du HDFS pour le client HDFS
• Stockage et gère les méta-données
• Liste des blocs pour chaque bloc
• Liste des fichiers
• Liste des datanodes pour chaque bloc
• Attributs des fichiers(ex: Nom,date de création, facteur de
réplication)
• Log toute méta-donnés et toutes transaction sur un support
persistant
• Lecture/écritures
• Création/suppression
Démare à partir d’une image de HDFS(fSimage)
• La capacité mémoire du Namenode décidera du nombre de
blocs que l on peut avoir dans le HDFS
13. HDFS: le Datanode
• Stocke des blocks de données dans le systèmes de fichier local
• Maintient des métadonnées sur blocks
• Serveurs de bloc de données et de métadonnées pour le client HDFS
• Heartbeat avec le Namenode
– Message aller vers le Namenode indiquant
• Son identité
• Sa capacité totale, son espace restant
– Message-retour depuis le Namenode
• Des commandes(copie de blocs vers d d’autres Datanodes, invalidation, de blocs, etc)
• En plus du heartbeat, informe régulièrement la Nameode des blocs qu il
contient
15. HDFS:Ecriture/Lecture d’un fichier
• Le client, récupère la liste de Datanodes sur lequel placer les différents réplicas,
écrit le bloc sur le premier Datanode
• Le premier Datanode transfère les données au prochain Datanode dans le
pipeline
• Quand tous les réplicats sont écrits, le client recommence la procédure pour le
prochain bloc du fichier
• Stratégie courante
• Un réplica sur un autre rack
• Un troisième réplica sur un rack d’un autre Datacenter
• Les réplicas supplémentaires sont placés de façon aléatoires
• Le client lit le plus proche réplicat
16. HDFS: Tolérance aux fautes
Crasch du Datanode
• Plus de hearbeat(detection par le namenode)
• Réplication distribuée(robustesse de données)
Crasch du Namenode
• Sauvegarde des logs de transaction sur un support stable
• Redémarrage sur la dernière image du HDFS et application des log de
transaction(recouvrement)
17. Fonctionnement d’Hadoop, HDFS
• Le programme Hadoop demande la création du fichier à
HDFS, par le biais d’une instruction create().
• HDFS envoie une demande de création de fichier au
NameNode, par le biais d’un appel de type RPC.
• Le NameNode s’assure que le fichier n’existe pas et que le
programme Hadoop disposes des droits nécessaires pour
créer le fichier. Si tout se passe bien, le NameNode ajoute
le nouveau fichier dans sa cartographie des données du
cluster. Sinon, une exception IOException est générée
• HDFS renvoie une instance de FSDataOutputStream au
programme, ce qui lui permet d’accéder au fichier en
écriture.
• .
18. Fonctionnement d’Hadoop, HDFS
• Les lignes envoyées à HDFS pour écriture dans le fichier
sont découpées en paquets et stochées temporairemenr
dans une file d’attente, qui est prise en charge par une
instance de DataStreamer :
– DataStreamer demande au NameNode les adresses de trois
blocs sur trois DataNodes différents pour y stocker les données
de la file d’attente.
– Chaque fois qu’un paquet de données a été stocké avec succès
sur un DataNode, un accusé de réception du paquet est
envoyé à FSDataOutputStream.
– DataStreamer pourrait demander au NameNode trois
nouvelles adresses lorsqu’un groupe de trois blocs est plein.
• Enfin, lorsque le dernier paquet a été écrit avec succès sur
trois DataNodes différents, le programme Hadoop
envoie close() à FSDataOutputStream.
19. Hadoop Mapreduce
• MapReduce est un modèle de programmation conçu
spécifiquement pour lire, traiter et écrire des volumes de
données très importants. MapReduce consiste en deux
fonctions map() et reduce().
• MapReduce implémente les fonctionnalités suivantes :
– Parallélisation automatique des programmes Hadoop.
– HDFS se charge de la répartition et de la réplication des
données ;
– Le maître divise le travail en jobs parallèles et les répartit
– Le maître collecte les résultats et gère les pannes des
noeuds.
– Gestion transparente du mode distribué.
– Tolérance aux pannes
21. Hadoop Mapreduce
Jobtracker
– Gere l’ensemble des ressources du systémes
– Reçoit des jobs des clients
– Ordonnance les différents tâches des jobs soumis
– Assigne les taches au Tasktrackers
– Réaffecte les taches défaillantes
– Maintient des informations sur l’états d’avancement
Un trasktracker
Exécute les taches données par le jobtracker
Exécution des taches dans une autre JVM(Child)
22. Développement de programmes
MapReduce
• Le programme WordCount un exemple très connu
• un programme Hadoop comptant le nombre d’occurrences
des différents mots composant un livre.
• pour chaque mot w de la ligne en cours
• on écrit dans un fichier en sortie le couple <w, 1>, 1
correspondant à une occurrence du mot contenu dans la
variable w
23. Développement de programmes
MapReduce
• le reduce remet à zéro le compteur wordCount lorsque l’on
change de mot
• pour chaque valeur v dans la liste inValue2 on ajoute v à
wordCount
• quand on change de mot, on écrit dans un fichier en sortie le
couple <inKey2, wordCount>
24. Installation
• Préparation de l’environement
– On suppose que le package de java est déjà installé
• Adding a dedicated Hadoop user
– $ sudo addgroup hadoop
• Installing SSH
– $ sudo apt-get install ssh
• Create and Setup SSH Certificates
– $ su hduser Password: hduser@laptop:~$ ssh-keygen -t rsa -P
"" Generating public/private rsa key pair. Enter file in which to
save the key (/home/hduser/.ssh/id_rsa): Created directory
'/home/hduser/.ssh'. Your identification has been saved in
/home/hduser/.ssh/id_rsa. Your public key has been saved in
/home/hduser/.ssh/id_rsa.pub. The key fingerprint is
25. Installation
• Install Hadoop
– $ wget http://mirrors.sonic.net/apache/hadoop/common/hadoop-
2.6.0/hadoop-2.6.0.tar.gz
– tar xvzf hadoop-2.6.0.tar.gz
– sudo mv * /usr/local/hadoop [sudo] password for hduser: hduser is not in the sudoers file. This
incident will be reported.
– sudo su hduser hduser@laptop:~/hadoop-2.6.0$ sudo mv * /usr/local/hadoop
hduser@laptop:~/hadoop-2.6.0$ sudo chown -R hduser:hadoop /usr/local/hadoop
• Configuration
• Setup Configuration Files
– /.bashrc
– /usr/local/hadoop/etc/hadoop/hadoop-env.sh
– /usr/local/hadoop/etc/hadoop/core-site.xml
– /usr/local/hadoop/etc/hadoop/mapred-site.xml.template
– /usr/local/hadoop/etc/hadoop/hdfs-site.xml
27. Configuration
• Configuration hadoop-env.sh
/usr/local/hadoop/etc/hadoop/hadoop-env.sh
$ vi /usr/local/hadoop/etc/hadoop/hadoop-env.sh export
JAVA_HOME=/usr/lib/jvm/java-7-openjdk-amd64
• Configuration core-site.xml
/usr/local/hadoop/etc/hadoop/core-site.xml
$ vi /usr/local/hadoop/etc/hadoop/core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name>
<value>/app/hadoop/tmp</value> <description>A base for other
temporary directories.</description> </property> <property>
<name>fs.default.name</name> <value>hdfs://localhost:54310</value>
<description>The name of the default file system. A URI whose scheme
and authority determine the FileSystem implementation. The uri's scheme
determines the config property (fs.SCHEME.impl) naming the FileSystem
implementation class. The uri's authority is used to determine the host,
port, etc. for a filesystem.</description> </property> </configuration>
28. Configuration
Configuration du mapred-site.xml
• /usr/local/hadoop/etc/hadoop/mapred-site.xml
<configuration> <property> <name>mapred.job.tracker</name>
<value>localhost:54311</value> <description>The host and port that
the MapReduce job tracker runs at. If "local", then jobs are run in-process
a single map and reduce task. </description>
</property> </configuration>
Configuration du hdfs-site.xml
• /usr/local/hadoop/etc/hadoop/hdfs-site.xml
• <configuration> <property> <name>dfs.replication</name> <value>1</value>
<description>Default block replication. The actual number of replications can be
specified when the file is created. The default is used if replication is not
specified in create time. </description> </property> <property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop_store/hdfs/namenode</value> </property>
<property> <name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop_store/hdfs/datanode</value> </property>
</configuration>
29. Lancement de Hadoop
• Format the New Hadoop Filesystem
• $ hadoop namenode -format DEPRECATED: Use of this script to execute hdfs command is
deprecated. Instead use the hdfs command for it
• Starting Hadoop
cd /usr/local/hadoop/sbin
/usr/local/hadoop/sbin$ ls
/usr/local/hadoop/sbin$ sudo su hduser
/usr/local/hadoop/sbin$ start-all.sh
• Verification
/usr/local/hadoop/sbin$ jps
9026 NodeManager
7348 NameNode
9766 Jps
8887 ResourceManager
7507 DataNode
Stopping Hadoop
/usr/local/hadoop/sbin$ ls
$ stop-all.sh