Tutoriel 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.





