Comment Hadoop Namenode processus de basculement fonctionne?
Hadoop defintive guide dit -
Chaque Namenode s'exécute un léger basculement de contrôleur de processus dont
c'est le travail de surveiller son Namenode pour les échecs (à l'aide d'un simple
battement de coeur mécanisme) et de déclencher un basculement doit un namenode
échouer.
Comment une namenode pouvez exécuter quelque chose à détecter son propre échec?
Qui envoie des pulsations à qui?
Où l'exécution de ce processus?
Comment il détecte namenode échec?
À qui il avisera pour la transition?
OriginalL'auteur K246 | 2015-10-23
Vous devez vous connecter pour publier un commentaire.
De Apache docs
La ZKFailoverController (ZKFC) est un nouveau composant qui est un ZooKeeper client qui surveille et gère l'état de la NameNode. Chaque machine qui exécute une NameNode gère également un ZKFC, et que ZKFC est responsable de:
De surveillance de la santé - le ZKFC pings ses locaux NameNode sur une base périodique, avec un bilan de santé de la commande. Tant que le NameNode répond en temps opportun avec un état sain, la ZKFC considère le nœud sain. Si le nœud est tombé en panne, congelés ou autrement, est entré dans un état lamentable, le moniteur de la santé sera marqué comme malsain.
ZooKeeper gestion de session - quand le NameNode est en bonne santé, la ZKFC est titulaire d'une session ouverte dans ZooKeeper. Si le local NameNode est actif, il est également titulaire d'un spécial "de verrouillage" znode. Ce verrou utilise la Gardienne de la prise en charge des "éphémère" nœuds; si la session expire, le nœud de verrouillage sera automatiquement supprimé.
ZooKeeper élections sur - si le local NameNode est en bonne santé, et la ZKFC voit qu'aucun autre nœud contient actuellement le verrou znode, il sera lui-même essayer d'acquérir le verrou. Si elle réussit, alors il a "remporté l'élection", et est responsable de l'exécution d'un basculement de rendre ses locaux NameNode active.
Jetez un oeil à cette Apache PDF qui fait partie de HDFS-2185 JIRA question
Diapositive 16 de
http://www.slideshare.net/cloudera/hdfs-update-lipcon-federal-big-data-apache-hadoop-forum
:
Automatique Namenode processus de basculement dans Hadoop:
Pour la Veille Namenode à maintenir son état synchronisé avec l'Active Namenode, les deux nœuds de communiquer avec un groupe de séparer les démons appelés JournalNodes (JNs).
Quand tout espace de modification est effectuée par le nœud Actif, il durablement les journaux d'un enregistrement de la modification d'une majorité de ces JNs. Le nœud en Attente est lit ces modifications à partir de la JNs et de les appliquer à son propre espace de nom.
Dans le cas d'un basculement, l'Attente fera en sorte qu'il a lu toutes les modifications de la JounalNodes avant de promouvoir lui-même à l'état Actif. Cela garantit que l'espace de noms de l'état est totalement synchronisé avant un basculement se produit.
Il est vital pour un cluster HA qu'un seul des NameNodes est Actif à la fois. ZooKeeper a été utilisé afin d'éviter split-brain scénario de sorte que le nom de nœud de l'état n'est pas divergent, à cause de basculement.
Diapositive 8 à partir de : http://www.slideshare.net/cloudera/hdfs-futures-world2012-widescreen
:
En Résumé: Nom de Nœud est Démon & Basculement contrôleur est un Démon. Si le Nom de Nœud de Démon échoue, le Basculement contrôleur Démon détecte et prend les mesures correctives. Même si l'ensemble de la machine se bloque, ZooKeeper serveur détecte et le verrouillage sera expiré et les autres Veille nom de nœud sera élu à l'Actif Nom de nœud.
Je suggère de modifier votre question plus générale : Comment les Hadoop Nom de nœud de basculement processus fonctionne?
OriginalL'auteur Ravindra babu