Bonjour à tous !
Je suis en train de me former sur HBase & co.
J'essaye de faire des schémas simples afin de me familiariser avec tous les mécanismes, j'ai commencé par la couche la plus basse, HDFS.
D'après les informations que j'ai pu ressortir, le schéma suivant contient les étapes du démarrage du NameNode :
Les étapes seraient donc :
(0. On démarre en safemode)
1. Récupération du fichier fsimage sur le filesystem local et chargement en mémoire dans le namenode ;
2. récupération du fichier editLog sur le filesystem local et application des actions qu'il contient sur les informations du fsimage chargées en mémoire ;
3. on vide le fichier editLog ;
4. On crée une nouvelle version du fichier fsimage qui remplacera la précédente ;
5. Si un secondary NameNode existe, on fait une copie du fsimage (du moins, sur tous les serveurs sur lesquels on a paramétré un backup du fsimage) ;
6. Le mapping 6 est créé (ou contenu ?) dans le fsimage ;
7. On attend les retours (BlockReport) des DataNode ;
8. Le NameNode remplit la cartographie des blocks avec les retours contenu dans les BlockReport ;
9. Si le pourcentage (paramètre) de réplication des blocks est atteint, le NameNode lance la réplication des blocks qui n'ont pas encore atteint leur facteur de réplication ;
10. Le NameNode quitte le safemode
Est-ce que ce schéma représente au mieux ce qu'il se passe ? Je pense bien qu'il y a d'autres étapes importantes a ajouter.
Autres questions :
- Est-ce que mon tableau de carthographie doit également contenir les blocks / serveurs des réplications des blocks ? (comment est-ce stocké dans ce fichier)
- Est-ce qu'il y a d'autres choses dans le secondary NameNode que je peux rajouter ? Même fonctionnement que le NameNode ?
- Le FsImage contient le tableau de l'étape 6 ?
Alors mon schéma est très moche mais c'est surtout pour me familiariser avec le concept !
Merci pour vos suggestions / retours et bonne journée !
Partager