Comment installer et configurer un cluster Apache ZooKeeper sur Ubuntu 18.04

L'auteur a sélectionnéWikimedia Foundation Inc. pour recevoir un don dans le cadre du programmeWrite for DOnations.

introduction

Apache ZooKeeper est un logiciel open source qui permet une coordination distribuée résiliente et hautement fiable. Il est couramment utilisé dans les systèmes distribués pour gérer les informations de configuration, les services de nommage, la synchronisation distribuée, le quorum et l'état. De plus, les systèmes distribués s'appuient sur ZooKeeper pour mettre en œuvre le consensus, l'élection des dirigeants et la gestion de groupe.

Dans ce guide, vous allez installer et configurer Apache ZooKeeper 3.4.13 sur Ubuntu 18.04. ZooKeeper est conçu pour être répliqué sur un ensemble d'hôtes appelé ensemble. Tout d'abord, vous allez créer une installation autonome d'un serveur ZooKeeper à un seul noeud, puis ajouter des détails pour la configuration d'un cluster à plusieurs noeuds. L'installation autonome est utile dans les environnements de développement et de test, mais un cluster est la solution la plus pratique pour les environnements de production.

Conditions préalables

Avant de commencer ce guide d’installation et de configuration, vous aurez besoin des éléments suivants:

  • L'installation autonome nécessite un serveur Ubuntu 18.04 avec un minimum de 4 Go de RAM configuré en suivantthe Ubuntu 18.04 initial server setup guide, y compris un utilisateur non root avec des privilèges sudo et un pare-feu. Vous avez besoin de deux serveurs supplémentaires, configurés en suivant les mêmes étapes, pour le cluster à plusieurs nœuds.

  • OpenJDK 8 installé sur votre serveur, car ZooKeeper nécessite l'exécution de Java. Pour ce faire, suivez l'étape «Installer des versions spécifiques d'OpenJDK» du guideHow To Install Java with apt on Ubuntu 18.04.

Parce que ZooKeeper conserve les données en mémoire pour atteindre un débit élevé et une latence faible, les systèmes de production fonctionnent mieux avec 8 Go de RAM. Une quantité moindre de RAM peut entraîner un échange de machine virtuelle, ce qui peut entraîner une latence du serveur ZooKeeper. Une latence élevée du serveur ZooKeeper peut entraîner des problèmes tels que le dépassement de délai de session client qui pourrait avoir un impact négatif sur les fonctionnalités du système.

[[step-1 -—- creation-a-user-for-zookeeper]] == Étape 1 - Création d'un utilisateur pour ZooKeeper

Un utilisateur dédié doit exécuter des services qui traitent les demandes sur un réseau et consomment des ressources. Cette pratique crée une ségrégation et un contrôle qui amélioreront la sécurité et la facilité de gestion de votre environnement. Dans cette étape, vous allez créer un utilisateur sudo non root, nommézk dans ce didacticiel, pour exécuter le service ZooKeeper.

Commencez par vous connecter en tant qu'utilisateur sudo non root créé dans les conditions préalables.

ssh sammy@your_server_ip

Créez l'utilisateur qui exécutera le service ZooKeeper:

sudo useradd zk -m

Passer l'indicateur-m à la commandeuseradd créera un répertoire personnel pour cet utilisateur. Le répertoire personnel dezk sera/home/zk par défaut.

Définissezbash comme shell par défaut pour l'utilisateurzk:

sudo usermod --shell /bin/bash zk

Définissez un mot de passe pour cet utilisateur:

sudo passwd zk

Ensuite, vous allez ajouter l'utilisateurzk au groupesudo afin qu'il puisse exécuter des commandes en mode privilégié:

usermod -aG sudo zk

En termes de sécurité, il est recommandé d'autoriser l'accès SSH à un nombre d'utilisateurs aussi réduit que possible. La connexion à distance en tant quesammy, puis l'utilisation desu pour basculer vers l'utilisateur souhaité crée un niveau de séparation entre les informations d'identification pour accéder au système et les processus en cours d'exécution. Vous allez désactiver l'accès SSH pour vos utilisateurszk etroot à cette étape.

Ouvrez votre fichiersshd_config:

sudo nano /etc/ssh/sshd_config

Localisez la lignePermitRootLogin et définissez la valeur surno pour désactiver l'accès SSH pour l'utilisateurroot:

/etc/ssh/sshd_config

PermitRootLogin no

Sous la valeurPermitRootLogin, ajoutez une ligneDenyUsers et définissez la valeur comme tout utilisateur qui doit avoir l'accès SSH désactivé:

/etc/ssh/sshd_config

DenyUsers zk

Enregistrez et quittez le fichier, puis redémarrez le démon SSH pour activer les modifications.

sudo systemctl restart sshd

Basculez vers l'utilisateurzk:

su -l zk

L'indicateur-l appelle un shell de connexion après avoir changé d'utilisateur. Un shell de connexion réinitialise les variables d'environnement et fournit un démarrage propre à l'utilisateur.

Entrez le mot de passe à l'invite pour authentifier l'utilisateur.

Maintenant que vous avez créé, configuré et connecté en tant qu'utilisateurzk, vous allez créer un répertoire pour stocker vos données ZooKeeper.

[[step-2 -—- creation-a-data-directory-for-zookeeper]] == Étape 2 - Création d'un répertoire de données pour ZooKeeper

ZooKeeper conserve toutes les données de configuration et d'état sur le disque afin qu'il puisse survivre au redémarrage. Dans cette étape, vous allez créer un répertoire de données que ZooKeeper utilisera pour lire et écrire des données. Vous pouvez créer le répertoire de données sur le système de fichiers local ou sur un lecteur de stockage distant. Ce tutoriel se concentrera sur la création du répertoire de données sur votre système de fichiers local.

Créez un répertoire que ZooKeeper pourra utiliser:

sudo mkdir -p /data/zookeeper

Accordez la propriété de votre utilisateurzk à l'annuaire:

sudo chown zk:zk /data/zookeeper

chown modifie la propriété et le groupe du répertoire/data/zookeeper de sorte que l'utilisateurzk, qui appartient au groupezk, possède le répertoire de données.

Vous avez créé et configuré avec succès le répertoire de données. Lorsque vous allez configurer ZooKeeper, vous devez spécifier ce chemin comme répertoire de données que ZooKeeper utilisera pour stocker ses fichiers.

[[step-3 -—- download-and-extracting-the-zookeeper-binaries]] == Étape 3 - Téléchargement et extraction des fichiers binaires ZooKeeper

Dans cette étape, vous allez télécharger et extraire manuellement les binaires ZooKeeper dans le répertoire/opt. Vous pouvez utiliser l'Outil d'empaquetage avancé,apt, pour télécharger ZooKeeper, mais il peut installer une version plus ancienne avec des fonctionnalités différentes. L'installation manuelle de ZooKeeper vous donnera le plein contrôle pour choisir la version que vous souhaitez utiliser.

Puisque vous téléchargez ces fichiers manuellement, commencez par passer au répertoire/opt:

cd /opt

Depuis votre ordinateur local, accédez auxApache download page. Cette page vous fournira automatiquement le miroir le plus proche de vous pour le téléchargement le plus rapide. Cliquez sur le lien vers le site miroir suggéré, puis faites défiler vers le bas et cliquez surzookeeper/ pour afficher les versions disponibles. Sélectionnez la version de ZooKeeper que vous souhaitez installer. Ce tutoriel se concentrera sur l'utilisation de3.4.13. Une fois que vous avez sélectionné la version, cliquez avec le bouton droit sur le fichier binaire se terminant par.tar.gz et copiez l'adresse du lien.

Depuis votre serveur, utilisez la commandewget avec le lien copié pour télécharger les binaires ZooKeeper:

sudo wget http://apache.osuosl.org/zookeeper/zookeeper-3.4.13/zookeeper-3.4.13.tar.gz

Extrayez les fichiers binaires de l'archive compressée:

sudo tar -xvf zookeeper-3.4.13.tar.gz

L'extension.tar.gz représente une combinaison d'empaquetage TAR suivi d'une compression GNU zip (gzip). Vous remarquerez que vous avez passé l'indicateur-xvf à la commande pour extraire l'archive. L'indicateurx signifie extrait,v active le mode verbeux pour afficher la progression de l'extraction etf permet de spécifier l'entrée, dans notre caszookeeper-3.4.13.tar.gz, par opposition à STDIN.

Ensuite, donnez à l'utilisateurzk la propriété des binaires extraits afin qu'il puisse exécuter les exécutables. Vous pouvez changer de propriétaire comme suit:

sudo chown zk:zk -R  zookeeper-3.4.13

Vous allez ensuite configurer un lien symbolique pour vous assurer que votre répertoire ZooKeeper restera pertinent dans les mises à jour. Vous pouvez également utiliser des liens symboliques pour raccourcir les noms de répertoire, ce qui peut réduire le temps nécessaire à la configuration de vos fichiers de configuration.

Créez un lien symbolique à l'aide de la commandeln.

sudo ln -s zookeeper-3.4.13 zookeeper

Changez la propriété de ce lien enzk:zk. Notez que vous avez passé un indicateur-h pour changer la propriété du lien lui-même. Ne pas spécifier-h modifie la propriété de la cible du lien, ce que vous avez fait explicitement à l'étape précédente.

sudo chown -h zk:zk zookeeper

Avec les liens symboliques créés, vos chemins de répertoire dans les configurations resteront pertinents et ne seront pas modifiés lors de futures mises à niveau. Vous pouvez maintenant configurer ZooKeeper.

[[step-4 -—- configuring-zookeeper]] == Étape 4 - Configuration de ZooKeeper

Maintenant que vous avez configuré votre environnement, vous êtes prêt à configurer ZooKeeper.

Le fichier de configuration vivra dans le répertoire/opt/zookeeper/conf. Ce répertoire contient un exemple de fichier de configuration fourni avec la distribution ZooKeeper. Cet exemple de fichier, nommézoo_sample.cfg, contient les définitions de paramètres de configuration les plus courants et des exemples de valeurs pour ces paramètres. Certains des paramètres communs sont les suivants:

  • tickTime: définit la longueur d'un tick en millisecondes. Un tick est une unité de temps utilisée par ZooKeeper pour mesurer la durée entre les battements de coeur. Les délais d'expiration de session minimum sont le double du tickTime.

  • dataDir: spécifie le répertoire utilisé pour stocker les instantanés de la base de données en mémoire et le journal des transactions pour les mises à jour. Vous pouvez choisir de spécifier un répertoire distinct pour les journaux de transactions.

  • clientPort: le port utilisé pour écouter les connexions client.

  • maxClientCnxns: limite le nombre maximum de connexions client.

Créez un fichier de configuration nommézoo.cfg à/opt/zookeeper/conf. Vous pouvez créer et ouvrir un fichier en utilisantnano ou votre éditeur préféré:

nano /opt/zookeeper/conf/zoo.cfg

Ajoutez l'ensemble de propriétés et valeurs suivant à ce fichier:

/opt/zookeeper/conf/zoo.cfg

tickTime=2000
dataDir=/data/zookeeper
clientPort=2181
maxClientCnxns=60

UntickTime de 2000 millisecondes est l'intervalle suggéré entre les battements cardiaques. Un intervalle plus court pourrait entraîner une surcharge du système avec des avantages limités. Le paramètredataDir pointe vers le chemin défini par le lien symbolique que vous avez créé dans la section précédente. Par convention, ZooKeeper utilise le port2181 pour écouter les connexions client. Dans la plupart des situations, 60 connexions client autorisées sont suffisantes pour le développement et les tests.

Enregistrez le fichier et quittez l'éditeur.

Vous avez configuré ZooKeeper et êtes prêt à démarrer le serveur.

[[step-5 -—- starting-zookeeper-and-testing-the-standalone-installation]] == Étape 5 - Démarrage de ZooKeeper et test de l'installation autonome

Vous avez configuré tous les composants nécessaires à l’exécution de ZooKeeper. Dans cette étape, vous allez démarrer le service ZooKeeper et tester votre configuration en vous connectant au service localement.

Revenez au répertoire/opt/zookeeper.

cd /opt/zookeeper

Démarrez ZooKeeper avec la commandezkServer.sh.

bin/zkServer.sh start

Vous verrez ce qui suit sur votre sortie standard:

OutputZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

Connectez-vous au serveur ZooKeeper local à l'aide de la commande suivante:

bin/zkCli.sh -server 127.0.0.1:2181

Vous obtiendrez une invite avec l'étiquetteCONNECTED. Cela confirme que votre installation de ZooKeeper est autonome et locale. Si vous rencontrez des erreurs, vous voudrez vérifier que la configuration est correcte.

OutputConnecting to 127.0.0.1:2181
...
...
[zk: 127.0.0.1:2181(CONNECTED) 0]

Tapezhelp sur cette invite pour obtenir une liste de commandes que vous pouvez exécuter à partir du client. La sortie sera comme suit:

Output[zk: 127.0.0.1:2181(CONNECTED) 0] help
ZooKeeper -server host:port cmd args
    stat path [watch]
    set path data [version]
    ls path [watch]
    delquota [-n|-b] path
    ls2 path [watch]
    setAcl path acl
    setquota -n|-b val path
    history
    redo cmdno
    printwatches on|off
    delete path [version]
    sync path
    listquota path
    rmr path
    get path [watch]
    create [-s] [-e] path data acl
    addauth scheme auth
    quit
    getAcl path
    close
    connect host:port

Après avoir effectué quelques tests, vous fermerez la session client en tapantquit sur l'invite. Le service ZooKeeper continuera à s'exécuter après la fermeture de la session client. Arrêtez le service ZooKeeper, car vous le configurerez en tant que servicesystemd à l'étape suivante:

bin/zkServer.sh stop

Vous avez maintenant installé, configuré et testé un service ZooKeeper autonome. Cette configuration est utile pour vous familiariser avec ZooKeeper, mais elle est également utile pour les environnements de développement et de test. Maintenant que vous savez que la configuration fonctionne, vous allez configurersystemd pour simplifier la gestion de votre service ZooKeeper.

[[step-6 -—- creation-and-using-a-systemd-unit-file]] == Étape 6 - Création et utilisation d'un fichier d'unité Systemd

Lesystemd, gestionnaire de système et de service, est un système d'initialisation utilisé pour amorcer l'espace utilisateur et pour gérer les processus système après le démarrage. Vous pouvez créer un démon pour démarrer et vérifier l'état de ZooKeeper à l'aide desystemd.

Systemd Essentials est une excellente ressource d'introduction pour en savoir plus sursystemd et ses composants.

Utilisez votre éditeur pour créer un fichier.service nommézk.service à/etc/systemd/system/.

sudo nano /etc/systemd/system/zk.service

Ajoutez les lignes suivantes au fichier pour définir le service ZooKeeper:

/etc/systemd/system/zk.service

[Unit]
Description=Zookeeper Daemon
Documentation=http://zookeeper.apache.org
Requires=network.target
After=network.target

[Service]
Type=forking
WorkingDirectory=/opt/zookeeper
User=zk
Group=zk
ExecStart=/opt/zookeeper/bin/zkServer.sh start /opt/zookeeper/conf/zoo.cfg
ExecStop=/opt/zookeeper/bin/zkServer.sh stop /opt/zookeeper/conf/zoo.cfg
ExecReload=/opt/zookeeper/bin/zkServer.sh restart /opt/zookeeper/conf/zoo.cfg
TimeoutSec=30
Restart=on-failure

[Install]
WantedBy=default.target

La sectionService de la configuration du fichier d'unité spécifie le répertoire de travail, l'utilisateur sous lequel le service s'exécuterait et les commandes exécutables pour démarrer, arrêter et redémarrer le service ZooKeeper. Pour plus d'informations sur toutes les options de configuration du fichier d'unité, vous pouvez lire l'article deUnderstanding Systemd Units and Unit Files.

Enregistrez le fichier et quittez l'éditeur.

Maintenant que votre configurationsystemd est en place, vous pouvez démarrer le service:

sudo systemctl start zk

Une fois que vous avez confirmé que votre fichiersystemd peut démarrer avec succès le service, vous activerez le service pour démarrer au démarrage.

sudo systemctl enable zk

Cette sortie confirme la création du lien symbolique:

OutputCreated symlink /etc/systemd/system/multi-user.target.wants/zk.service → /etc/systemd/system/zk.service.

Vérifiez l'état du service ZooKeeper à l'aide de:

sudo systemctl status zk

Arrêtez le service ZooKeeper en utilisantsystemctl.

sudo systemctl stop zk

Enfin, pour redémarrer le démon, utilisez la commande suivante:

sudo systemctl restart zk

Le mécanismesystemd devient le système d'initialisation de choix sur de nombreuses distributions Linux. Maintenant que vous avez configurésystemd pour gérer ZooKeeper, vous pouvez tirer parti de ce modèle d’initialisation rapide et flexible pour démarrer, arrêter et redémarrer le service ZooKeeper.

[[step-7 -—- configuration-a-multi-node-zookeeper-cluster]] == Étape 7 - Configuration d'un cluster ZooKeeper multi-nœuds

Le serveur autonome ZooKeeper est utile pour le développement et les tests, mais chaque environnement de production doit avoir un cluster répliqué à plusieurs nœuds.

Les nœuds du cluster ZooKeeper qui fonctionnent ensemble en tant qu'application forment unquorum. Le quorum fait référence au nombre minimum de nœuds qui doivent s’accorder sur une transaction avant qu’elle ne soit validée. Un quorum nécessite un nombre impair de nœuds pour pouvoir établir une majorité. Un nombre pair de nœuds peut entraîner une égalité, ce qui signifierait que les nœuds n'atteindraient pas une majorité ou un consensus.

Dans un environnement de production, vous devez exécuter chaque nœud ZooKeeper sur un hôte distinct. Cela évite les interruptions de service dues à une panne matérielle de l'hôte ou à des redémarrages. Il s’agit là d’une considération architecturale importante et nécessaire pour la construction d’un système distribué résilient et hautement disponible.

Dans ce didacticiel, vous allez installer et configurer trois nœuds du quorum pour illustrer une configuration multi-nœuds. Avant de configurer un cluster à trois nœuds, vous allez faire tourner deux serveurs supplémentaires avec la même configuration que votre installation autonome de ZooKeeper. Assurez-vous que les deux noeuds supplémentaires répondent aux conditions préalables, puis suivez les étapes 1 à 6 pour configurer une instance de ZooKeeper en cours d'exécution.

Une fois que vous avez suivi les étapes 1 à 6 pour les nouveaux nœuds, ouvrezzoo.cfg dans l'éditeur sur chaque nœud.

sudo nano /opt/zookeeper/conf/zoo.cfg

Tous les nœuds d'un quorum auront besoin du même fichier de configuration. Dans votre fichierzoo.cfg sur chacun des trois nœuds, ajoutez les paramètres de configuration supplémentaires et les valeurs pourinitLimit,syncLimit et les serveurs du quorum, à la fin du fichier.

/opt/zookeeper/conf/zoo.cfg

tickTime=2000
dataDir=/data/zookeeper
clientPort=2181
maxClientCnxns=60
initLimit=10
syncLimit=5
server.1=your_zookeeper_node_1:2888:3888
server.2=your_zookeeper_node_2:2888:3888
server.3=your_zookeeper_node_3:2888:3888

initLimit spécifie le temps que peut prendre la phase de synchronisation initiale. Il s'agit du délai dans lequel chacun des noeuds du quorum doit se connecter au leader. syncLimit spécifie le temps qui peut s'écouler entre l'envoi d'une demande et la réception d'un accusé de réception. C'est le temps maximal que les nœuds peuvent être désynchronisés par rapport au leader. Les nœuds ZooKeeper utilisent une paire de ports,:2888 et:3888, pour que les nœuds suiveurs se connectent au nœud leader et pour l'élection du leader, respectivement.

Une fois que vous avez mis à jour le fichier sur chaque nœud, vous enregistrez et quittez l’éditeur.

Pour compléter votre configuration multi-nœuds, vous devez spécifier un ID de nœud sur chacun des serveurs. Pour ce faire, vous allez créer un fichiermyid sur chaque nœud. Chaque fichier contiendra un numéro qui correspond au numéro de serveur attribué dans le fichier de configuration.

Suryour_zookeeper_node_1, créez le fichiermyid qui spécifiera l'ID du nœud:

sudo nano /data/zookeeper/myid

Puisqueyour_zookeeper_node_1 est identifié commeserver.1, vous entrerez1 pour définir l'ID de nœud. Après avoir ajouté la valeur, votre fichier ressemblera à ceci:

your_zookeeper_node_1 /data/zookeeper/myid1

Suivez les mêmes étapes pour les nœuds restants. Le fichiermyid sur chaque nœud doit être le suivant:

your_zookeeper_node_1 /data/zookeeper/myid1
your_zookeeper_node_2 /data/zookeeper/myid2
your_zookeeper_node_3 /data/zookeeper/myid3

Vous avez maintenant configuré un cluster ZooKeeper à trois nœuds. Ensuite, vous allez exécuter le cluster et tester votre installation.

[[step-8 -—- exécution-et-test-de-l'installation-multi-nœuds]] == Étape 8 - Exécution et test de l'installation multi-nœuds

Chaque nœud étant configuré pour fonctionner en cluster, vous êtes prêt à démarrer un quorum. Dans cette étape, vous allez démarrer le quorum sur chaque nœud, puis tester votre cluster en créant des exemples de données dans ZooKeeper.

Pour démarrer un nœud de quorum, accédez d'abord au répertoire/opt/zookeeper sur chaque nœud:

cd /opt/zookeeper

Démarrez chaque nœud avec la commande suivante:

java -cp zookeeper-3.4.13.jar:lib/log4j-1.2.17.jar:lib/slf4j-log4j12-1.7.25.jar:lib/slf4j-api-1.7.25.jar:conf org.apache.zookeeper.server.quorum.QuorumPeerMain conf/zoo.cfg

Lorsque les nœuds démarrent, vous verrez par intermittence des erreurs de connexion suivies d'une étape au cours de laquelle ils rejoignent le quorum et élisent un chef parmi eux. Après quelques secondes d'initialisation, vous pouvez commencer à tester votre installation.

Connectez-vous via SSH àyour_zookeeper_node_3 en tant qu'utilisateur non root que vous avez configuré dans les prérequis:

ssh sammy@your_zookeeper_node_3

Une fois connecté, passez à votre utilisateurzk:

your_zookeeper_node_3 /data/zookeeper/myidsu -l zk

Entrez le mot de passe de l'utilisateurzk. Une fois connecté, changez le répertoire en/opt/zookeeper:

your_zookeeper_node_3 /data/zookeeper/myidcd /opt/zookeeper

Vous allez maintenant démarrer un client de ligne de commande ZooKeeper et vous connecter à ZooKeeper suryour_zookeeper_node_1:

your_zookeeper_node_3 /data/zookeeper/myidbin/zkCli.sh -server your_zookeeper_node_1:2181

Dans l'installation autonome, le client et le serveur s'exécutaient sur le même hôte. Cela vous a permis d'établir une connexion client avec le serveur ZooKeeper en utilisantlocalhost. Étant donné que le client et le serveur s'exécutent sur des nœuds différents dans votre cluster multi-nœuds, à l'étape précédente, vous deviez spécifier l'adresse IP deyour_zookeeper_node_1 pour vous y connecter.

Vous verrez l'invite familière avec l'étiquetteCONNECTED, similaire à ce que vous avez vu à l'étape 5.

Ensuite, vous allez créer, lister, puis supprimer unznode. Les znodes sont les abstractions fondamentales dans ZooKeeper qui sont analogues aux fichiers et aux répertoires d'un système de fichiers. ZooKeeper conserve ses données dans un espace de noms hiérarchique, et les znodes sont les registres de données de cet espace de noms.

Il est essentiel de vérifier que vous pouvez créer, répertorier, puis supprimer un znode avec succès, pour établir que votre cluster ZooKeeper est installé et configuré correctement.

Créez un znode nommézk_znode_1 et associez-lui la chaînesample_data.

create /zk_znode_1 sample_data

Vous verrez le résultat suivant une fois créé:

OutputCreated /zk_znode_1

Lister le znode nouvellement créé:

ls /

Obtenez les données qui y sont associées:

get /zk_znode_1

ZooKeeper répondra comme suit:

Output[zk: your_zookeeper_node_1:2181(CONNECTED)] ls /
[zk_znode_1, zookeeper]
[zk: your_zookeeper_node_1:2181(CONNECTED)] get /zk_znode_1
sample_data
cZxid = 0x100000002
ctime = Tue Nov 06 19:47:41 UTC 2018
mZxid = 0x100000002
mtime = Tue Nov 06 19:47:41 UTC 2018
pZxid = 0x100000002
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 0

La sortie confirme la valeur,sample_data, que vous avez associée àzk_node_1. ZooKeeper fournit également des informations supplémentaires sur l'heure de création,ctime et l'heure de modification,mtime. ZooKeeper est un magasin de données versionné, de sorte qu'il vous présente également des métadonnées sur la version des données.

Supprimez le znodezk_znode_1:

delete /zk_znode_1

Au cours de cette étape, vous avez testé avec succès la connectivité entre deux de vos nœuds ZooKeeper. Vous avez également appris la gestion de base des znodes en créant, en répertoriant et en supprimant des znodes. Votre configuration multi-nœuds est terminée et vous êtes prêt à commencer à utiliser ZooKeeper.

Conclusion

Dans ce didacticiel, vous avez configuré et testé un environnement ZooKeeper autonome et multi-nœuds. Maintenant que votre déploiement ZooKeeper multi-nœuds est prêt à être utilisé, vous pouvez consulter lesofficial ZooKeeper documentation pour obtenir des informations et des projets supplémentaires.