Vous êtes sur la page 1sur 80

PROJET APACHE

HBASE
LES PARTICIPANTS:
NDONSE ORY LSI3
GABIAM KOSSI SAMUEL

COURS: BIG DATA


PLAN

• Histoire
• C’est Quoi HBase?
• Mécanisme de stockage Apache Hbase
• Fonctionnalités d'Apache Hbase
• Architecture HBase Apache
HISTOIRE

• Le système de stockage de données traditionnel que nous avions, était notre SGBD
comme Système de gestion de base de données relationnelle
• Les données étaient moins nombreuses et étaient principalement structurées( c’était facile
de les organiser).
HISTOIRE

• Avec le temps, D'énormes volumes de données structurées et semi-structurées ont été


générés.
• Donc Le stockage et le traitement de ces données sur les bases de données sont devenus
un problème majeur.
HISTOIRE

• Hadoop est devenu la solution quand il s’agit


De gestion des données volumineuses.
Et après il y a HBase qui vient pour renforcer
Cette nouvelle gestion de données
HISTOIRE

HBase est devenu d’abord le sous-projet d'Hadoop ,


La version initiale a été publiée le 28 mars 2008 ; Il y a 13 ans et la Sortie stable 2.3.4 le 22
janvier 2021 ; il y a 8 mois
C’EST QUOI APACHE HBASE?

Définition
• HBase est un système de gestion de base de données orienté colonne dérivé de la base de
données NoSQL Big Table de Google qui s'exécute sur HDFS
• Un system de gestion de base de données distribué non relationnelle open source écrite en
Java

• Apache HBase résout les limitations d'Hadoop


C’EST QUOI APACHE HBASE?
LES LIMITATIONS DE HADOOP

• lorsque nous avons stocké une énorme quantité de données volumineuses dans Hadoop et
on essaie d'extraire quelques enregistrements d’Hadoop, c'était un problème majeur car il
devait analyser l'intégralité du système de fichiers distribué Hadoop pour récupérer les
enregistrements les plus petits ; Hadoop n'a pas fourni d'accès aléatoire aux bases de
données
C’EST QUOI APACHE HBASE?

• C’est un modèle de données similaire à la table Big Data de Google pour fournir un accès
aléatoire rapide à d'énormes quantités de données structurées
• Il fait partie de l'écosystème Hadoop qui fournit un accès aléatoire en temps réel, en
lecture et en écriture aux données du système de fichiers Hadoop
HBASE VS HDFS
HBase HDFS
HBase est construit sur Hadoop HDFS HDFS est l'un des principaux composants de
Hadoop
il a été conçu de manière à stocker les fichiers de
manière distribuée
HBase fournit des recherches rapides pour des Avec HDFS, nous savons que avec ses limitations
tables plus volumineuses; HBase fournit une HDFS ne fournit pas d'accès aléatoire aux
faible latence à des lignes uniques à partir de données et ne prend pas en charge les recherches
milliards d'enregistrements rapides d'enregistrements individuels

Avec HBase, nous pouvons lire les données de


manière aléatoire à partir de n'importe quel
emplacement ainsi que les écrire ;
HBase utilise des tables de hachage et fournit un HDFS ne fournit qu'un accès séquentiel aux
accès aléatoire et stocke les données dans des données.
fichiers HDFS indexés pour des recherches plus
rapides,
MÉCANISME DE STOCKAGE APACHE HBASE

• HBase est une base de données orientée colonnes

• la table a plusieurs familles de colonnes et chaque famille de colonnes peut avoir n'importe
quel nombre de colonnes
• les valeurs des colonnes sont stockées en continu sur le disque et chaque valeur de cellule du
tableau a un horodatage.
FONCTIONNALITÉS D'APACHE HBASE

• HBase est linéairement horizontalement évolutif


• HBase prend en charge les pannes automatiques ; il nous fournit la fonction de tolérance
par défaut de HDFS
• HBase fournit une lecture et une écriture cohérentes.
• HBase s'intègre à Hadoop et à la fois en tant que source et destination
• HBase assure la réplication des données.
ARCHITECTURE HBASE APACHE

• HBase a trois composants principaux:


1. la bibliothèque cliente
2. un serveur maître
3. serveurs de région

• Les tables à l'intérieur de HBase sont divisées en régions et sont servies par des serveurs
d’écriture ; les régions sont divisées verticalement par familles de colonnes en magasins et les
magasins sont enregistrés sous forme de fichiers dans HDFS
LE SERVEUR MAÎTRE

• le serveur maître attribue des régions aux serveurs de régions et prend l'aide d'Apache
zookeeper pour cette tâche
• Il gère également l'équilibrage de charge des régions entre les serveurs de région
• Il maintient l'état du cluster en négociant l'équilibrage de charge
LE SERVEUR DE RÉGIONS

• Les régions sont les tables qui sont réparties sur les serveurs de la région
• les serveurs de région ont des régions qui communiquent avec le client et gèrent les
opérations liées aux données
• ils gèrent également les demandes de lecture et d'écriture pour toutes les régions qui en
dépendent
• les serveurs de région décident de la taille de la région en suivant les seuils de taille de
région
• Tout ce qui est entré dans la HBase est automatiquement stocké initialement
LE SERVEUR DE RÉGIONS

• le magasin contient le magasin de mémoire et les fichiers

• les données sont transférées et enregistrées dans des fichiers HBase sous forme de blocs et le
magasin de mémoire est effacé
ZOOKEEPER & APACHE HBASE

• Les clients communiquent avec les serveurs de la région via Zookeeper


• ZooKeeper est une API open source qui permet la synchronisation de processus distribués
sur de grands systèmes, afin que tous les clients émettant des demandes reçoivent des
données homogènes.
ILLUSTRATION PRATIQUE

• Vous pouvez faire différent traitements sur les données qui existent dans HBase comme
désactiver ou activer les tables par Example , Ajouter des données dans les tableaux,
récupérer ces données ainsi que d’autres manipulations qu’on peut faire sur Apache
HBase. Mais avant tout on prépare l’espace de travail.
1. INSTALLER LINUX SUR UNE MACHINE
VIRTUELLE
1.1 Téléchargement et installation d'Oracle VirtualBox

Comme machine virtuelle on a choisi VirtualBox


Accédez au site Web de VirtualBox https://www.virtualbox.org/wiki/Downloads pour
télécharger la version convenable avec votre système d'exploitation actuel et on fait une
installation par défaut. Dans notre cas, on utilise le système d’exploitation Windows 10 64
bit
SITE WEB DE VIRTUALBOX
1.2 CRÉATION DE LA MACHINE VIRTUELLE

• Cliquer sur Nouvelle


1.2 CRÉATION DE LA MACHINE VIRTUELLE

• Le nom, le type de système d’exploitation et la version et cliquer suivant


1.2 CRÉATION DE LA MACHINE VIRTUELLE

• Choix de la taille de la RAM (2GB pour une machine dans notre projet est suffisant) et
cliquer suivant
1.2 CRÉATION DE LA MACHINE VIRTUELLE

• Ajout du disque dur de la VM(on fait le choix par défaut :Créer un disque dur virtuel
maintenant ) et cliquer sur créer
1.2 CRÉATION DE LA MACHINE VIRTUELLE

• Choix du type de fichier du disque dur


1.2 CRÉATION DE LA MACHINE VIRTUELLE

• Choix du type de stockage sur disque dur(on le laisse par défaut)


1.2 CRÉATION DE LA MACHINE VIRTUELLE

• Emplacement et taille du fichier du disque dur virtuel et cliquer sur créer


1.2 CRÉATION DE LA MACHINE VIRTUELLE

• Informations de la machine virtuelle


1.3 INSTALLATION DE LINUX UBUNTU 20.04

• Choix du système d’exploitation et configuration de la machine virtuelle(Changer le


mode de la carte réseau)
1.3 INSTALLATION DE LINUX UBUNTU 20.04

• Choix du système d’exploitation et configuration de la machine virtuelle(Configurer le


CPU du système de la machine)
1.3 INSTALLATION DE LINUX UBUNTU 20.04

• Choix du système d’exploitation et configuration de la machine


virtuelle(Choix du système d’exploitation) et cliquer « Ok » pour finir
1.3 INSTALLATION DE LINUX UBUNTU 20.04

• Démarrage de la machine virtuelle


1.3 INSTALLATION DE LINUX UBUNTU 20.04

• Choisir la langue pour Linux Ubuntu et l’Installer


1.3 INSTALLATION DE LINUX UBUNTU 20.04

• Sélection d'une disposition de clavier


1.3 INSTALLATION DE LINUX UBUNTU 20.04

• Type d’installation(On a fait des choix par défaut)


1.3 INSTALLATION DE LINUX UBUNTU 20.04

• Sélection de l’emplacement
1.3 INSTALLATION DE LINUX UBUNTU 20.04

• Saisie des détails de l'utilisateur


1.3 INSTALLATION DE LINUX UBUNTU 20.04

• Installation de Linux Ubuntu en cours


1.3 INSTALLATION DE LINUX UBUNTU 20.04

• Fin d’installation et après avoir redémarrer la machine


1.3 INSTALLATION DE JAVA VIRTUAL MACHINE

• La machine virtuelle Java doit être installée sur le système pour que Hadoop s'exécute
puisque ce dernier a été développé en utilisant java.
1.3. 1 Installation directe de Java Virtual machine
Ouvrez le terminal et tapez :
1.3 INSTALLATION DE JAVA VIRTUAL MACHINE

1.3. 2 Ajoutez les variables d’environnement pour Java


Dans le terminal on tape:
Et dans la fenêtre qui s’ouvre dépendamment ou est placé le dossier java-8-openjdk-amd64,
ajouter les deux lignes

Fermez la fenêtre et tapez:


1.3 INSTALLATION DE JAVA VIRTUAL MACHINE

• 1.3. 3 Vérifier si Java a été bien installé


Avec la commande:
Si c’est bien installé, on voit les lignes suivants
1.4 INSTALLATION DE HADOOP

• 1.4.1 Téléchargement de Hadoop

• 1.4.2 Extraire le fichier téléchargé de Hadoop

• 1.4.3 Définition des variables d'environnement


Dans le terminal on tape:
Et dans la fenêtre qui s’ouvre dépendamment ou est extrait, ajouter les lignes

Fermez la fenêtre et tapez:


1.4 INSTALLATION DE HADOOP

• 1.4. 4 Vérifier si Hadoop a été bien installé


Avec la commande:
Si c’est bien installé, on voit les lignes suivants
1.5 MODIFICATION DES FICHIERS DE
CONFIGURATION
• Accédez au répertoire de configuration Hadoop :

Tapez « ls » pour voir les fichiers configuration


1.5 MODIFICATION DES FICHIERS DE CONFIGURATION
« HADOOP-ENV.SH »

• Dans le terminal on tape: vi hadoop-env.sh

On ajoute le contenu du fenêtre qui s’ouvre avec:

Et quitter cette fenêtre


1.5 MODIFICATION DES FICHIERS DE CONFIGURATION
«  CORE-SITE.XML»

• Dans le terminal on tape:

On ajoute le contenu du fenêtre qui s’ouvre avec:

Et quitter cette fenêtre


1.5 MODIFICATION DES FICHIERS DE CONFIGURATION
«  HDFS-SITE.XML»

• Dans le terminal on tape:

On ajoute le contenu du fenêtre qui s’ouvre avec:

Et quitter cette fenêtre


1.5 MODIFICATION DES FICHIERS DE CONFIGURATION
«MAPRED-SITE.XML»

• Le commande suivant c’est pour créer le fichier mapred-site.xml

• Dans le terminal on tape:

On ajoute le contenu du fenêtre qui s’ouvre avec:

Et quitter cette fenêtre


1.5 MODIFICATION DES FICHIERS DE CONFIGURATION
«YARN-SITE.XML»

• Dans le terminal on tape:

On ajoute le contenu du fenêtre qui s’ouvre avec:

Et quitter cette fenêtre


1.5 MODIFICATION DES FICHIERS DE CONFIGURATION
«VI MASTER» ET «VI SLAVES»

- Création de master avec la commande: nano master et tu ouvres avec vi master


- Ouverture de slaves: avec vi slaves
• On ajoute les contenues si dessous:
• nano master nano slaves
1.6 INSTALLATION DE NET-TOOLS ET DU SERVEUR OPENSSH
1.6.1 INSTALLATION DE NET-TOOLS

• Dans le terminal, on tape:


1.6 INSTALLATION DE NET-TOOLS ET DU SERVEUR OPENSSH
1.6.2 INSTALLATION DU SERVEUR OPENSSH

• Dans le terminal, on tape:


1.7 CONFIGURER LE MOT DE PASSE SUDO

• Dans le terminal et on tape:


1.8 CLONAGE DE LA MACHINE VIRTUELLE

• Pour Cloner une machine, il faut que la machine n’est pas ouverte
• Choisir Cloner
1.8 CLONAGE DE LA MACHINE VIRTUELLE

• Choisir le Nom de la nouvelle machine clonée et le chemin


1.8 CLONAGE DE LA MACHINE VIRTUELLE

• Choisir le type de clone


1.8 CLONAGE DE LA MACHINE VIRTUELLE

• Les résultats des clonages qu'on a fait


1.9 MODIFICATION DU FICHIER HÔTE SUR CHAQUE
MACHINE   «  MASTER( OU NAMENODE)  »
«  SLAVE1(DATANODE1)» «  SLAVE2(DATANODE2)»
• Accédez au répertoire etc et tapez le commande:

• modifiez les adresses IP de tout les machines et enregistrer


1.10 CONFIGURATION SSH ET GÉNÉRATION DE
CLÉS
• pour générer une paire de clés RSA publique/privée pour ssh
On fait la commande suivante :
1.10 CONFIGURATION SSH ET GÉNÉRATION DE
CLÉS
1.10 DÉMARRAGE DE HADOOP

• 1.10.1 Accédez au répertoire hadoop-2.7.3

• et Configurons le Master en formatant le répertoire de stockage


1.10 DÉMARRAGE DE HADOOP

• 1.10.2 Accédez au répertoire hadoop-2.7.3/sbin

• Démarrage des Hadoop daemons


namenode

secondarynamenode

resourcemanager
1.10 DÉMARRAGE DE HADOOP

• JobHistoryServer

• Pour les machines slaves(1,2), tapez:


1.11 INTERFACE WEB DE HADOOP

• Avec le lien http://master:50070 en sachant que dans notre cas on a fait Master comme le
namenode
2.1 TÉLÉCHARGEMENT ET INSTALLATION DE
HBASE
• Accédez au site Web https://archive.apache.org/dist/hbase/1.2.2/

Une fois téléchargé tu fais l’extraction avec la commande


2.2 DÉFINIR LES VARIABLES D'ENVIRONNEMENT
DE HBASE
• On ouvre le fichier .bashrc avec la commande suivante

• Et ajouter les deux lignes

• Et fermez le fichier .bashrc et tapez pour actualiser.


2.3 MODIFICATION DES FICHIERS DE CONFIGURATION
DE HBASE

• Accédez au répertoire conf

• Ajouter l’emplacement de Java dans le fichier hbase-env.sh

On ajoute les deux lignes dans ce fichier


Et fermez le fichier.
2.3 MODIFICATION DES FICHIERS DE CONFIGURATION
DE HBASE

• Pour le fichier regionservers

Ce sont les deux régions servers


Pour le fichier backup-masters

C’est pour définir un serveur de secours


2.3 MODIFICATION DES FICHIERS DE CONFIGURATION
DE HBASE

• Pour hbase-site.xml
2.4 COPIER LES FICHIERS DE CONFIGURATION
DANS LES 2 MACHINES
• On va copier toutes les fichiers qu’on a modifié ainsi que le fichier .bashrc
• Exemples:
2.5 DÉMARRAGE DES HBASE DAEMONS

• Il suffit juste de tapez la commande suivante

Pour Vérifier que HBase marche bien (ainsi que Hadoop) on fait:

Hmaster est présent aussi dans Slave1(datanode1) puisque on veut qu’il joue le rôle du serveur de secours au cas ou le
Master(NameNode) tombe en panne.
2.6 INTERFACE WEB DE HBASE

• Pour accéder à l’interface WEB de HBase, on fait


• http://master:16010
Et on voit les pages suivantes
2.7 EXEMPLES DES COMMANDES DE BASE DANS
HBASE
• pour démarrer le Shell HBase, Accédez au répertoire bin et tapez:
2.7 EXEMPLES DES COMMANDES DE BASE DANS
HBASE
• Pour voir des informations sur le master et le backup masters, regions servers On tape:

• Pour savoir la version de HBase qu’on utilise, on tape:

• Pour créer une table, on tape:


2.7 EXEMPLES DES COMMANDES DE BASE DANS
HBASE
• On peut aussi vérifier si la table a été bien créé depuis l’interface web de HBase
2.7 EXEMPLES DES COMMANDES DE BASE DANS
HBASE
• Maintenant essayons de voir les tables existant dans notre base et désactiver-les
2.7 EXEMPLES DES COMMANDES DE BASE DANS
HBASE
• On va créer une table et on insère des données

• Essayons de récupérer les données existant dans une table


2.7 EXEMPLES DES COMMANDES DE BASE DANS
HBASE
• Vérifions depuis l’interface web de Hbase

• Pour Fermez tous les daemons de HBase


FIN

Vous aimerez peut-être aussi