Vidéo: Master Data Management (MDM) with Neo4j 2024
Commencer une discussion de l'architecture HBase (Hadoop Database) en décrivant RegionServers au lieu du MasterServer peut vous surprendre. Le terme RegionServer semblerait impliquer que cela dépend (et est secondaire) du MasterServer et que vous devriez donc d'abord discuter du MasterServer. Comme le dit la vieille chanson, "ce n'est pas nécessairement le cas. "
Les RegionServers dépendent du serveur maître pour certaines fonctions, mais pas dans le sens d'une relation maître-esclave pour le stockage et la récupération des données. Dans le coin supérieur gauche de la figure, notez que les clients ne pointent pas vers le serveur principal, mais indiquent plutôt le cluster Zookeeper et RegionServers.
Le MasterServer n'est pas dans le chemin du stockage et de l'accès aux données - c'est le travail du cluster Zookeeper et des RegionServers. Jetez un oeil aux fonctions principales du MasterServer, qui est aussi un processus logiciel (ou démon) comme les RegionServers. Le serveur maître est là pour
-
Surveiller les serveurs RegionServers dans le cluster HBase: Le serveur principal gère une liste de serveurs RegionServers actifs dans le cluster HBase.
-
Gérer les opérations de métadonnées: Lors de la création d'une table ou de la modification de ses attributs (paramètres de compression, de cache, de version, etc.), MasterServer gère l'opération et stocke les métadonnées requises.
-
Affecter des régions: Le MasterServer attribue des régions aux RegionServers.
-
Gérer le basculement de RegionServer: Comme pour tout cluster distribué, vous espérez que les échecs de nœud ne se produisent pas et que vous les planifiez quand même. Lorsque les serveurs régionaux échouent, Zookeeper avertit le serveur maître de sorte que les opérations de basculement et de restauration puissent être lancées.
-
Superviser l'équilibrage de charge des régions sur tous les RegionServers disponibles: Vous pouvez rappeler que les tables sont composées de régions qui sont réparties uniformément sur tous les RegionServers disponibles. C'est le travail du thread d'équilibrage (ou corvée , si vous préférez) que le MasterServer active périodiquement.
-
Gérer (et nettoyer) les tables de catalogue: Deux tables de catalogue de clés sont utilisées par le système HBase pour aider un client à trouver une paire de valeurs de clé particulière dans le système.
Le MasterServer assure la gestion de ces tables critiques pour le compte de l'ensemble du système HBase.
-
Effacer le WAL: Le MasterServer interagit avec le WAL pendant le basculement de RegionServer et nettoie périodiquement les journaux.
-
Fournissez un cadre de coprocesseur pour observer les opérations principales: Voici un autre nouveau terme pour votre glossaire HBase en pleine croissance. Les coprocesseurs s'exécutent dans le contexte de MasterServer ou de RegionServers. Par exemple, un coprocesseur d'observateur MasterServer vous permet de modifier ou d'étendre les fonctionnalités normales du serveur lorsque des opérations telles que la création de table ou la suppression de table ont lieu. Souvent, les coprocesseurs sont utilisés pour gérer les index de table pour les applications HBase avancées.
Un coprocesseur, qui s'exécute dans le contexte de MasterServer et / ou de 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 les coprocesseurs sur un blog de la communauté HBase.
Comme pour toutes les technologies Hadoop open source, les opérations de MasterServer vont probablement changer avec le temps, car la communauté des ingénieurs travaille sur des innovations conçues pour améliorer HBase. Au moment d'écrire ces lignes, cependant, vous avez maintenant une liste assez complète qui sert de référence de haut niveau pour le MasterServer.
Enfin, un point important sur le serveur HBase MasterServer: Il peut et devrait y avoir un MasterServer de sauvegarde dans n'importe quel cluster HBase. Il ne doit y avoir qu'un seul MasterServer actif à la fois, de sorte que le MasterServer de sauvegarde est utilisé à des fins de basculement.
Vous pouvez vous rappeler que MasterServer n'est pas dans le chemin d'accès aux données pour les clients HBase. Cependant, vous pouvez également rappeler que le serveur maître est responsable des actions telles que le basculement de RegionServer et l'équilibrage de charge. La bonne nouvelle est que les clients peuvent continuer à interroger le cluster HBase si le maître tombe en panne, mais pour les opérations de cluster normales, le maître ne doit pas rester inactif pendant un certain temps.