Le MasterServer de HBase

Démarrage d'une discussion des HBase (Base de données Hadoop) en décrivant l'architecture RegionServers la place de la MasterServer peut vous surprendre. Le terme RegionServer semble impliquer que cela dépend (et est secondaire à) l'MasterServer et que vous devriez donc discuter de la MasterServer premier. Comme la vieille chanson va, cependant, “ il est pas nécessairement ”.

Les RegionServers ne dépendent de la MasterServer pour certaines fonctions, mais pas dans le sens d'une relation maître-esclave pour le stockage de données et la récupération. Dans le coin supérieur gauche de la figure, vous remarquerez que les clients ne pointent pas vers le MasterServer, mais soulignent la place à la grappe et RegionServers Zookeeper.

image0.jpg

Le MasterServer est pas dans le chemin pour le stockage des données et l'accès - qui est le travail de la grappe Zookeeper et les RegionServers. Jetez un oeil à des fonctions primaires de la MasterServer, qui est aussi un processus logiciel (ou démon) comme les RegionServers. Le MasterServer est là pour

  • Surveiller les RegionServers du cluster HBase: Le MasterServer maintient une liste de RegionServers actif dans le cluster HBase.

  • Gérer les opérations de métadonnées: Quand une table est créée ou ses attributs sont modifiés (réglage de compression, les paramètres de cache, des versions et plus) l'MasterServer gère l'opération et stocke les métadonnées requises.

  • Attribuer régions: Le MasterServer attribue aux régions RegionServers.

  • Gérer RegionServer basculement: Comme avec toute grappe distribuée, vous espérez que les défaillances de nœud ne se produisent pas et que vous prévoyez pour eux de toute façon. Lorsque les serveurs de la région échouent, Zookeeper avise le MasterServer afin que les opérations de basculement et de restauration peuvent être initiées.

  • Superviser l'équilibrage des régions dans tous les RegionServers disponibles de charge: Vous vous souviendrez que les tables sont composées de régions qui sont distribués uniformément sur tous les RegionServers disponibles. Ceci est le travail du fil d'équilibrage (ou travail de routine, si vous préférez) qui l'MasterServer active périodiquement.

  • Gérer (et nettoyer) tables de catalogue: Deux tables de catalogue clés sont utilisés par le système HBase pour aider un client à trouver une paire de valeur de clé particulier dans le système.

    Le MasterServer assure la gestion de ces tables critiques au nom de l'ensemble du système HBase.

  • Décochez la WAL: Le MasterServer interagit avec le basculement WAL cours RegionServer et nettoie régulièrement les journaux.


  • Fournir un cadre de coprocesseur pour observer les opérations de base: Voici un autre nouveau terme pour votre glossaire croissante HBase. Coprocesseurs exécuter dans le contexte de l'MasterServer ou RegionServers. Par exemple, un observateur coprocesseur MasterServer vous permet de modifier ou d'étendre la fonctionnalité normale du serveur lorsque des opérations telles que la création de table ou suppression ont lieu. Souvent coprocesseurs sont utilisés pour gérer les index de table pour les applications Hbase avancés.

Un coprocesseur, qui se déroule dans le contexte de la MasterServer et ou RegionServer (ou les deux) peut être utilisé pour améliorer la sécurité, créer des index secondaires, et plus encore. Vous pouvez trouver plus d'informations sur coprocesseurs à un blog de la communauté HBase.

Comme avec toutes les technologies open source Hadoop, opérations MasterServer vont probablement changer au fil du temps que la communauté des ingénieurs travaillent sur les innovations visant à améliorer HBase. Comme d'écrire ces lignes, cependant, vous avez maintenant une liste assez complète qui sert de référence de haut niveau pour la MasterServer.

Enfin, un autre point important à faire au sujet de la HBase MasterServer: Il peut et doit être un MasterServer sauvegarde dans tout groupe HBase. Il doit y avoir un seul MasterServer actif à un moment donné, de sorte que le MasterServer de sauvegarde est à des fins de basculement.

Vous vous souvenez peut que le MasterServer est pas dans le chemin d'accès aux données pour les clients Hbase. Cependant, vous pouvez également rappeler que les MasterServer est responsable des actions telles que RegionServer basculement et l'équilibrage de charge. Les bonnes nouvelles sont que les clients peuvent continuer à interroger le cluster HBase si le maître descend mais pour les opérations de cluster normales, le maître ne devraient pas rester en bas, pour toute longueur de temps.