Tutoriel ZooKeeper : Qu'est-ce que c'est, Archiconfiguration d'Apache ZooKeeper
Qu'est-ce qu'un système distribué ?
Une application distribuée est une application qui peut s'exécuter sur plusieurs systèmes dans un réseau. Il fonctionne simultanément en se coordonnant pour accomplir une certaine tâche. Ces tâches peuvent prendre de nombreuses heures pour être exécutées par n'importe quelle application non distribuée.
Qu’est-ce que Zookeeper ?
gardien de zoo Apache est un service de coordination distribué open source qui permet de gérer un large ensemble d'hôtes. La gestion et la coordination dans un environnement distribué sont délicates. Zookeeper automatise ce processus et permet aux développeurs de se concentrer sur la création de fonctionnalités logicielles plutôt que de se soucier de sa nature distribuée.
Zookeeper vous aide à conserver les informations de configuration, les noms et les services de groupe pour les applications distribuées. Il implémente différents protocoles sur le cluster afin que l'application ne doive pas s'implémenter seule. Il fournit une vue unique et cohérente de plusieurs machines.
Pourquoi Apache Zookeeper ?
Voici les raisons importantes qui expliquent la popularité du Zookeeper :
- Il permet l'exclusion mutuelle et la coopération entre les processus serveur
- Cela garantit que votre application s’exécute de manière cohérente.
- Le processus de transaction n'est jamais terminé partiellement. Il reçoit soit le statut de réussite, soit celui d'échec. L'état distribué peut être retardé, mais ce n'est jamais mauvais
- Quel que soit le serveur auquel il se connecte, un client pourra voir la même vue du service
- Vous aide à encoder les données selon l'ensemble spécifique de règles
- Il permet de maintenir un espace de noms hiérarchique standard similaire aux fichiers et répertoires
- Ordinateurs, qui fonctionnent comme un système unique pouvant être connecté localement ou géographiquement
- Il permet de rejoindre/quitter un nœud dans un cluster et l'état du nœud en temps réel
- Vous pouvez augmenter les performances en déployant plus de machines
- Il vous permet d'élire un nœud comme leader pour une meilleure coordination
- ZooKeeper fonctionne rapidement avec les charges de travail où les lectures de données sont plus courantes que les écritures
Gardien de zoo Architecture : Comment ça marche ?
Voici une brève explication sur Apache Architecture du gardien de zoo :
- Zookeeper suit un client-serveur Architecture
- Tous les systèmes stockent une copie des données
- Les dirigeants sont élus au démarrage
Serveur: Le serveur envoie un accusé de réception lorsqu'un client se connecte. Dans le cas où il n'y a pas de réponse du serveur connecté, le client redirige automatiquement le message vers un autre serveur.
Projet: Le client est l'un des nœuds du cluster d'applications distribuées. Il vous aide à accéder aux informations du serveur. Chaque client envoie un message au serveur à intervalles réguliers qui permet au serveur de savoir que le client est en vie.
leader: L'un des serveurs est désigné comme leader. Il donne toutes les informations aux clients ainsi qu'un accusé de réception que le serveur est vivant. Il effectuerait une récupération automatique si l'un des nœuds connectés tombait en panne.
Disciple: Le nœud serveur qui suit les instructions du leader est appelé suiveur.
- Les demandes de lecture des clients sont traitées par le serveur Zookeeper connecté en conséquence
- Les demandes d'écriture du client sont traitées par le responsable Zookeeper.
Ensemble/Cluster: Groupe de serveurs Zookeeper appelé ensemble ou a ClusterVous pouvez utiliser l'infrastructure ZooKeeper en mode cluster pour que le système soit à la valeur optimale lorsque vous exécutez Apache.
Interface utilisateur Web de ZooKeeper : Si vous souhaitez travailler avec la gestion des ressources ZooKeeper, vous devez utiliser WebUI. Il permet de travailler avec ZooKeeper en utilisant l'interface utilisateur Web, au lieu d'utiliser la ligne de commande. Il offre une communication rapide et efficace avec l'application ZooKeeper.
Le modèle de données Zookeeper (ZDM)
Maintenant, dans ce didacticiel ZooKeeper, découvrons le modèle de données Zookeeper. La figure ci-dessous explique le modèle de données Apache Zookeeper :
- Le modèle de données zookeeper suit un espace de noms hiérarchique où chaque nœud est appelé ZNode. Un nœud est un système sur lequel le cluster s'exécute.
- Chaque ZNode contient des données. Il peut ou non avoir des enfants
- Chemins des nœuds Z :
- Canonique, séparé par des barres obliques et absolu
- Ne pas utiliser de références relatives
- Les noms peuvent contenir des caractères Unicode
- ZNode conserve la structure des statistiques et le numéro de version pour les modifications de données.
Types de nœuds Zookeeper
Il existe trois types de Znodes :
Persistence znode : ce type de znode est vivant même après la déconnexion du client qui a créé ce znode spécifique. Par défaut, dans zookeeper, tous les nœuds sont persistants si cela n'est pas spécifié.
Éphémère znode : ce type de znode gardien de zoo est vivant jusqu'à ce que le client soit en vie. Par conséquent, lorsque le client est déconnecté du gardien de zoo, il sera également supprimé. De plus, les nœuds éphémères ne sont pas autorisés à avoir des enfants.
Séquentiel znode : les znodes séquentiels peuvent être éphémères ou persistants. Ainsi, lorsqu'un nouveau znode est créé en tant que znode séquentiel. Vous pouvez attribuer le chemin du znode en attachant un numéro de séquence à 10 chiffres au nom d'origine.
ZDM-Montres
Zookeeper, un événement de surveillance est un déclencheur unique qui est envoyé au client qui a défini la surveillance. Cela s'est produit lorsque les données de cette montre changent. La montre ZDM permet aux clients de recevoir des notifications lorsque le znode change. Les opérations de lecture ZDM telles que getData(), getChidleren() existent et offrent la possibilité de définir une surveillance.
Les montres sont ordonnées, l'ordre des événements de la montre correspond à l'ordre des mises à jour. Un client pourra voir un événement de surveillance pour znode avant de voir les nouvelles données qui correspondent à ce znode.
ZDM - Liste de contrôle d'accès
Zookeeper utilise des ACL pour contrôler l'accès à ses znodes. L'ACL est composée d'une paire de (Schéma : identifiant, autorisation)
Intégrer des schémas ACL :
monde : a un seul identifiant, n'importe qui
auth : n'utilise aucun identifiant, il représente tout utilisateur authentifié
digest : utilisez un nom d'utilisateur : mot de passe
host : vous permet d'utiliser le nom d'hôte du client comme identité d'identifiant ACL
IP : utiliser l'adresse IP de l'hôte client comme identité d'identifiant ACL
Autorisations ACL :
- CREATE
- LIS
- ÉCRIRE
- EFFACER
- ADMIN
Ex (IP : 192.168.0.0/16, LIRE)
Le ZKS – États de session et durée de vie
- Avant d'exécuter toute requête, il est important que le client établisse une session avec le service
- Toutes les opérations que les clients sont envoyés au service sont automatiquement associées à une session
- Le client peut se connecter à n'importe quel serveur du cluster. Mais il ne se connectera qu'à un seul serveur
- La séance offre des « garanties de commande ». Les requêtes de la session sont exécutées dans l'ordre FIFO
- Les principaux états d'une session sont 1) En cours de connexion, 2) Connecté 3) Fermé 4) Non connecté.
Comment installer ZooKeeper
Étape 1) Cliquez sur Continuer pour vous abonner
Aller à cette lien et cliquez sur "Continuer à vous abonner"
Étape 2) Accepter les termes et conditions
Sur la page suivante, Acceptez le contrat de licence
Étape 3) Message de remerciement affiché
Vous verrez le message suivant
Étape 4) Cliquez sur Continuer pour configurer
Actualisez la page après 5 minutes et procédez à la configuration
Étape 5) Cliquez sur « Continuer le lancement »
Dans l'écran suivant, lancez ZooKeeper
Étape 6) Félicitations!
Vous avez terminé!
Applications Apache ZooKeeper
Apache Zookeeper utilisé aux fins suivantes :
- Gestion de la configuration
- Services de dénomination
- Choisir le leader
- Mettre les messages en file d'attente
- Gestion du système de notifications
- Synchronisation
- Distribué Cluster Direction
Entreprises utilisant Zookeeper
- Yahoo
- eBay
- Netflix
- Zynga
- Nutanix
Inconvénients de l’utilisation de Zookeeper
- Une perte de données peut survenir si vous ajoutez de nouveaux serveurs Zookeeper
- Aucune migration autorisée pour les utilisateurs
- N'offre pas de support pour le placement et la sensibilisation en rack
- Zookeeper ne vous permet pas de réduire le nombre de pods pour éviter toute perte accidentelle de données
- Vous ne pouvez pas basculer le service vers un réseau hôte sans une réinstallation complète lorsque le service est déployé sur un réseau virtuel
- Le service ne prend pas en charge la modification des exigences de volume une fois le déploiement initial terminé
- Un grand nombre de nœuds sont impliqués, il peut donc y avoir plusieurs points de défaillance.
- Les messages peuvent être perdus dans le réseau de communication, ce qui nécessite un logiciel spécial pour les récupérer
Résumé
- Une application distribuée est une application qui peut s'exécuter sur plusieurs systèmes dans un réseau.
- Apache Zookeeper est un service de coordination distribué open source qui vous aide à gérer un grand nombre d'hôtes
- Il permet l'exclusion mutuelle et la coopération entre les processus serveur
- Serveur, Client, Leader, Suiveur, Ensemble/Cluster, ZooKeeper WebUI sont des composants importants du gardien de zoo
- Trois types de Znodes sont Persistence, Ephémère et séquentiel
- La surveillance ZDM est un déclencheur unique qui est envoyé au client qui a défini la surveillance. Cela s'est produit lorsque les données de cette montre changent
- Zookeeper Hadoop utilise des ACL pour contrôler l'accès à ses znodes
- Gestion de la configuration, Naming services., sélection du leader, Mise en file d'attente des messages, Gestion du système de notification, Synchronisation, distribué Cluster Gestion, etc
- Yahoo, Facebook, eBay, Twitter, Netflix Certaines entreprises connues utilisent Zookeeper
- Le principal inconvénient de l'outil est qu'une perte peut survenir si vous ajoutez de nouveaux serveurs Zookeeper.